一條sql語句分組、升序、指定條數查詢
阿新 • • 發佈:2019-01-09
l 假定資料表結構為:ID,生成時間,數量,購買者ID,商品ID。
l 寫一段SQL指令碼,實現根據日期分組功能。規則:
n 日期,ID升序排序
n 查詢每組前5條的訂單資料,不足5條,則有幾條查幾條
l 資料示例:
ID |
日期 |
數量 |
1 |
2016/10/11 |
5 |
2 |
2016/10/11 |
6 |
3 |
2016/10/11 |
7 |
4 |
2016/10/12 |
8 |
5 |
2016/10/11 |
9 |
6 |
2016/10/13 |
10 |
7 |
2016/10/17 |
11 |
8 |
2016/10/11 |
12 |
9 |
2016/10/11 |
13 |
10 |
2016/10/12 |
14 |
11 |
2016/10/11 |
15 |
12 |
2016/10/11 |
16 |
13 |
2016/10/11 |
17 |
14 |
2016/10/11 |
18 |
15 |
2016/10/12 |
19 |
16 |
2016/10/11 |
20 |
17 |
2016/10/11 |
21 |
18 |
2016/10/11 |
22 |
19 |
2016/10/11 |
23 |
20 |
2016/10/11 |
24 |
21 |
2016/10/11 |
25 |
22 |
2016/10/11 |
26 |
23 |
2016/10/11 |
27 |
24 |
2016/10/11 |
28 |
25 |
2016/10/13 |
29 |
l 結果示例: 11號的有5
ID |
日期 |
數量 |
1 |
2016/10/11 |
5 |
2 |
2016/10/11 |
6 |
3 |
2016/10/11 |
7 |
5 |
2016/10/11 |
9 |
8 |
2016/10/11 |
12 |
4 |
2016/10/12 |
8 |
10 |
2016/10/12 |
14 |
15 |
2016/10/12 |
19 |
6 |
2016/10/13 |
10 |
25 |
2016/10/13 |
29 |
mysql> select * from commodity as a where (select count(*) from commodity as b where a.time = b.time and a.id > b.id)< 5 order by a.time asc;