求帮忙,mysql中表先分组在排序,sql语句该怎么写

结构如下:typenameguestdate1aasa201311011bbdsf201311021aawew20131103我想按照name分组,按照date降序排列,... 结构如下:
type name guest date
1 aa sa 20131101
1 bb dsf 20131102
1 aa wew 20131103
我想按照name分组,按照date降序排列,希望的结果如下:
type name guest date
1 aa wew 20131103
1 bb dsf 20131102
展开
 我来答
Lily0810212
2013-11-25 · 超过24用户采纳过TA的回答
知道答主
回答量:136
采纳率:0%
帮助的人:41.2万
展开全部
如果你要查询所有的列 只按name分组 会报错的 所有都要根据type,name,guest,date 分组select type,name guest date from table order by date desc group by name,type,guest
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nietiezheng
推荐于2017-09-20 · TA获得超过5536个赞
知道大有可为答主
回答量:3132
采纳率:87%
帮助的人:1237万
展开全部
如果分组的话,查询结果中只能包含分组属性和聚合函数的运算结果。你要的这个结果中的属性是分组操作后不能得到的。比如aa对应两条记录,另一条你打算怎么处理?是取每个name分组中date最大的?如果这样可以按如下方法写
select R.*
from tab R, (select name, max(date) from tab group by name) S
where R.name=S.name and R.date=S.date
order by R.date desc
追问
aa的另一条记录就不显示在页面上了
追答
你用我上面给的查询试试,应该就是这个
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式