首页 新闻 会员 周边

关于sql查询的问题,请教各位前辈。

0
悬赏园豆:30 [已解决问题] 解决于 2018-05-28 22:18

这是一个通用分页库产生的代码,根据图片的注释,如果去掉前面的fundTime排序放到后面是正常,这是为什么呢?

码农改变世界lyf的主页 码农改变世界lyf | 初学一级 | 园豆:46
提问于:2018-04-11 21:24
< >
分享
最佳答案
0
1 SELECT * FROM (SELECT ROW_NUMBER() OVER(ORDER BY fundTime desc) as row_number,* FROM( A.userID
2 from yw_user_fundlog A LEFT JOIN yw_user B ON A.userID=B.userID where 1=1 AND (B.name LIKE '%440%' OR B.mobile LIKE'%440%') group by A.userID,convert(varchar(10), fundTime,20))t) tt WHERE tt.row_number between 1 and 10

问题解决,只要先分组,然后再排序就好了。

码农改变世界lyf | 初学一级 |园豆:46 | 2018-04-13 08:49
其他回答(2)
0

试试 ORDER BY fundTime 依然放前面,在 GROUP BY 中加上 fundTime 列名

收获园豆:15
dudu | 园豆:30994 (高人七级) | 2018-04-11 21:40

在上 funTime就不能达到的目的了,我是按照日期来进行分类,不是每条记录。

支持(0) 反对(0) 码农改变世界lyf | 园豆:46 (初学一级) | 2018-04-13 08:46
0

集合是没有顺序的,对于子查询,请移除order by子句,或者 top 100 percent+order by 组合使用

收获园豆:15
悦光阴 | 园豆:2251 (老鸟四级) | 2018-05-15 09:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册