Sql 使用ORDER BY后,将具有相似列数据的行排列在一起
使用此表中的“按日期说明订购”:Sql 使用ORDER BY后,将具有相似列数据的行排列在一起,sql,sql-server,database,Sql,Sql Server,Database,使用此表中的“按日期说明订购”: Number | Date 1 | 07/18/2017 1 | 07/18/2017 1 | 07/18/2017 1 | 07/18/2017 2 | 07/18/2017 2 | 07/18/2017 2 | 07/18/2017 1 | 07/18/2017 1 | 07/18/2017 2 | 07/19/2017 3
Number | Date
1 | 07/18/2017
1 | 07/18/2017
1 | 07/18/2017
1 | 07/18/2017
2 | 07/18/2017
2 | 07/18/2017
2 | 07/18/2017
1 | 07/18/2017
1 | 07/18/2017
2 | 07/19/2017
3 | 07/19/2017
3 | 07/19/2017
3 | 07/19/2017
4 | 07/19/2017
4 | 07/19/2017
3 | 07/19/2017
1 | 07/20/2017
1 | 07/20/2017
1 | 07/20/2017
2 | 07/20/2017
1 | 07/20/2017
1 | 07/20/2017
将产生相同的结果,问题是如何重新排列行,以便使用单个查询运行(如果可能)将具有类似编号的行按照日期分组到一起
我尝试按日期排序,然后运行另一个查询,对编号进行排序,但分组后的编号与日期无关
ORDER BY Date DESC,ID ASC
预期结果:
Number | Date
1 | 07/18/2017
1 | 07/18/2017
1 | 07/18/2017
1 | 07/18/2017
1 | 07/18/2017
1 | 07/18/2017
2 | 07/18/2017
2 | 07/18/2017
2 | 07/18/2017
2 | 07/19/2017
3 | 07/19/2017
3 | 07/19/2017
3 | 07/19/2017
3 | 07/19/2017
4 | 07/19/2017
4 | 07/19/2017
1 | 07/20/2017
1 | 07/20/2017
1 | 07/20/2017
1 | 07/20/2017
1 | 07/20/2017
2 | 07/20/2017
只需在
date
之后的orderby
中添加ID
ORDER BY Date DESC,ID ASC
根据您的预期结果,两者都需要ASC,这里有什么不同
Order by [date], Id --which means both asc
输出如下:
+----+------------+
| Id | date |
+----+------------+
| 1 | 2017-07-18 |
| 1 | 2017-07-18 |
| 1 | 2017-07-18 |
| 1 | 2017-07-18 |
| 1 | 2017-07-18 |
| 1 | 2017-07-18 |
| 2 | 2017-07-18 |
| 2 | 2017-07-18 |
| 2 | 2017-07-18 |
| 2 | 2017-07-19 |
| 3 | 2017-07-19 |
| 3 | 2017-07-19 |
| 3 | 2017-07-19 |
| 3 | 2017-07-19 |
| 4 | 2017-07-19 |
| 4 | 2017-07-19 |
| 1 | 2017-07-20 |
| 1 | 2017-07-20 |
| 1 | 2017-07-20 |
| 1 | 2017-07-20 |
| 1 | 2017-07-20 |
| 2 | 2017-07-20 |
+----+------------+
您是否尝试过按编号分组,按日期说明日期订单?除非我不明白你想干什么achieve@Misery如果不使用聚合函数而使用
分组依据
,我不会收到错误吗?我真的不知道我可以在排序依据