我试图返回按日期排序的条目列表,但将匹配的列放在一起.
对于超级简化的例子,表food如下所示.
id | name | group_uuid | date |
---|---|---|---|
1 | Apple | 6d37ca | 2023-05-20 |
2 | Cucumber | d90ad2 | 2023-05-20 |
3 | Orange | 6d37ca | 2023-06-14 |
4 | Carrot | d90ad2 | 2023-05-20 |
5 | Walnut | 03a7f3 | 2023-06-14 |
6 | Pecan | 03a7f3 | 2023-06-14 |
有没有办法让Orange紧跟在Apple之后,而不是按GROUP_UUID的字母顺序排序?我想让组6d37ca
保持在最高位置,因为它的第一个条目的id
是1
.
如果我使用SELECT * FROM food ORDER BY date ASC, type, id ASC
,它将产生以下结果:
id | name | group_uuid | date |
---|---|---|---|
1 | Apple | 6d37ca | 2023-05-20 |
2 | Cucumber | d90ad2 | 2023-05-20 |
4 | Carrot | vegetable | 2023-05-20 |
3 | Orange | d90ad2 | 2023-06-14 |
5 | Walnut | 03a7f3 | 2023-06-14 |
6 | Pecan | 03a7f3 | 2023-06-14 |
理想情况下,我希望结果是这样的:
id | name | group_uuid | date |
---|---|---|---|
1 | Apple | 6d37ca | 2023-05-20 |
3 | Orange | 6d37ca | 2023-06-14 |
2 | Cucumber | d90ad2 | 2023-05-20 |
4 | Carrot | d90ad2 | 2023-05-20 |
5 | Walnut | 03a7f3 | 2023-06-14 |
6 | Pecan | 03a7f3 | 2023-06-14 |
不知道这是否可能,但如果有任何帮助,我们将不胜感激.