mysql查询结果排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql查询结果排序相关的知识,希望对你有一定的参考价值。

mysql查询数据库表中前20条记录并排序
我的sql是这样写的,但是查出来的结果..
select count(StoreUserPKID),s.StoreUserPKID,s.StoreUserID,sum(v.TimeLength) from tStoreUser as s
inner join tVoucherDetails as v on s.StoreUserPKID=v.VoucherStoreUserPKID where DetailsVoucherAmount>0 and
v.remark='支付宝充值' group by StoreUserPKID order by v.TimeLength limit 0,20;
查出来结果缺没有帮我排序...改成order by sum(v.TimeLength)也不对.

问题在于使用了group by 你这么用是在使用了分组之后,在分组内使用order by

select * from(
select count(StoreUserPKID),s.StoreUserPKID,s.StoreUserID,sum(v.TimeLength) from tStoreUser as s
inner join tVoucherDetails as v on s.StoreUserPKID=v.VoucherStoreUserPKID where DetailsVoucherAmount>0 and
v.remark='支付宝充值' group by StoreUserPKID )
order by v.TimeLength limit 0,20;

这样试试
参考技术A 你的S没有定义是按照哪个字段排序

以上是关于mysql查询结果排序的主要内容,如果未能解决你的问题,请参考以下文章

如何在mysql查询中获得排序结果?

21《MySQL 教程》ORDER BY 排序

为啥选择查询在 mysql 集群中显示未排序的结果?

MySQL对查询结果排序

mysql结果集筛选排序

MYSQL结果排序分页查询聚合函数