我不认为我可以使用ORDER BY
里面的子句GROUP_CONCAT
功能。
有谁知道一种棘手的方法来完成这种行为SQLite
?
我看到了这个question https://stackoverflow.com/questions/1897352/sqlite-group-concat-ordering前。但我有一个复杂的查询。
我的声明如下:
SELECT
c.col1, c.col3, m.col3, m.col4,
count(m.col1), count(re.col2) AS cnt,
GROUP_CONCAT(p.col1 ORDER BY p.col1) AS "Group1",
GROUP_CONCAT(p.col2 ORDER BY p.col1) AS "Group2",
GROUP_CONCAT(CASE WHEN con.col3 is null THEN p.col1 ELSE con.col3 END),
con.col4, con.col5, p.col3
FROM t1 re
INNER JOIN t2 c ON (re.col1 = c.col1)
INNER JOIN t3 p ON (re.col2 = p.col1)
LEFT JOIN t4 con ON (con.col1 = p.col2)
INNER JOIN t5 m ON (m.col1 = c.col5)
GROUP BY re.col1
Group1
and Group2
来自同一个表但不同的列:我想保留的顺序Group1
with Group2
:
table t3
+------+------+
| col1 | col2 |
+------+------+
| 1 | A |
| 2 | B |
| 3 | C |
| 4 | D |
| 5 | E |
+------+------+
so if Group1
看起来像这样2,1,3
Group2
应该像这样B,A,C