Nie sądzę, żebym mógł użyć klauzuli ORDER BY
wewnątrz funkcji GROUP_CONCAT
.Korzystanie z klauzuli ORDER BY wewnątrz funkcji GROUP_CONCAT w SQLite
Czy ktoś wie trudny sposób, aby osiągnąć to zachowanie w SQLite
?
Widziałem to wcześniej, question. Ale mam złożone zapytanie.
Moje oświadczenie wygląda następująco:
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
i Group2
pochodzi z tej samej tabeli, ale różnych kolumnach: Chcę zachować Zakon Group1
z Group2
:
table t3
+------+------+
| col1 | col2 |
+------+------+
| 1 | A |
| 2 | B |
| 3 | C |
| 4 | D |
| 5 | E |
+------+------+
tak jeśli pojawi się Group1
w ten sposób: 2,1,3
Group2
powinien wyglądać tak: B,A,C
Piszesz w swojej odpowiedzi, że zapytanie robi to, co trzeba. Jakie jest więc pytanie? – newtover
@newto składnia, której używał, jest obsługiwana przez mysql nie sqlite. – chacham15