题主的这个排序需求,用SQL来解决,其难度的确比较大,不过经过特殊的排序安排还是可以解决的。请参考下列语句:
这里假设表名为OrderTest(id,pid,name) id是主键具有唯一性
select tid,tpid,t`name` from(select a,
(select id from OrderTest where id=apid and
id<>aid limit 1) as p
from OrderTest a) t
order by
IFNULL(tp,tid),
case when tp is null then 0 else 1 end,tid;
下面是实验截图
sql 按 group 单纯的对unitname 分组查询后 是 "统计数据" ,不存在组内情况,并不会带有 voucherID,不能排序,对 voucherID 的排序也是无意义。
或者说你按 unitname、voucherID 俩个分组,然后 按voucherID 排序,这个是可以实现的。
order by cont ->order by count()
select count() as cont,ctt_id from tmp GROUP BY ctt_id order by count() desc limit 0,20
如果你要查询所有的列 只按name分组 会报错的 所有都要根据type,name,guest,date 分组select type,name guest date from table order by date desc group by name,type,guest
以上就是关于mysql 分组排序,pid为 n 的行 跟在 id 为 n 的行后面全部的内容,包括:mysql 分组排序,pid为 n 的行 跟在 id 为 n 的行后面、sql语句 按一列分组 然后再按别一列组内排序、mysql语句,分组去重,排序问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)