求帮忙,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 展开
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 展开
2个回答
展开全部
如果你要查询所有的列 只按name分组 会报错的 所有都要根据type,name,guest,date 分组select type,name guest date from table order by date desc group by name,type,guest
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果分组的话,查询结果中只能包含分组属性和聚合函数的运算结果。你要的这个结果中的属性是分组操作后不能得到的。比如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
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的另一条记录就不显示在页面上了
追答
你用我上面给的查询试试,应该就是这个
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询