mysql 分组排序,pid为 n 的行 跟在 id 为 n 的行后面

mysql 分组排序,pid为 n 的行 跟在 id 为 n 的行后面,第1张

题主的这个排序需求,用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语句,分组去重,排序问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10111397.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存