gpt4 book ai didi

sql - 使整个 block 有序

转载 作者:行者123 更新时间:2023-11-29 13:30:53 26 4
gpt4 key购买 nike

我有一个查询看起来像

SELECT
a, b, c, d
FROM
tab
ORDER BY
a ASC, b ASC

我的结果集看起来像

+-----------------------+
| a | b | c | d |
+-----------------------+
| A1 | B1 | X | null|
| A1 | B2 | X | null|
| A1 | B3 | X | null|
| A1 | B4 | X | date|
| A2 | B1 | X | null|
| A2 | B2 | X | null|
| A2 | B3 | X | null|
| A2 | B4 | X | date|
...

X 可以是任何东西(这里无关紧要)。我想在 d 列中按日期对这些 block A1A2 等进行排序,而不更改 block 之间的顺序(以便 B1 还在 B2 之前,...)。

有什么建议吗?还是这种方法走错了方向?

最佳答案

如果我猜对了,您想按 MAX(D) 对整个 block (或 MIN(d) ?)进行排序。然后试试这个查询:

SELECT T.* 
FROM T
JOIN (SELECT a, MAX(d) as maxD
FROM T
GROUP BY a) as T1
ON T.a=T1.a
ORDER BY T1.maxD,T.a,T.b

SQLFiddle demo

关于sql - 使整个 block 有序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23784619/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com