Mysql 子组排序的排序结果

Mysql order result with subgroups order

例如我有 table

id 参数 1 参数2
1 c 1
2 一个 2
3 d 3
4 一个 1
5 b 3
6 一个 3
7 e 4

param1¶m2 对是唯一的

我想得到这个结果,其中任何具有相同 param1 的项目在自己的子组中按 id 分组

id 参数 1 参数2
1 c 1
2 一个 2
4 一个 1
6 一个 3
3 d 3
5 b 3
7 e 4

有什么建议吗?

假设“组”根据“组”中的 MIN(ID) 排序,并且“组”中的行根据 id...

WITH
  summarised AS
(
  SELECT
    *,
    MIN(id) OVER (PARTITION BY param1) AS group_min_id
  FROM
    YourTable
) 
SELECT
  *
FROM
  summarised
ORDER BY
  group_min_id,
  id

使用相关子查询代替 window 函数...

SELECT
  *,
  (SELECT MIN(id) FROM yourTable AS lookup WHERE lookup.param1 = yourTable.param1) AS group_min_id
FROM
  yourTable
ORDER BY
  group_min_id,
  id