早上好,
我想申请一个SQLite数据库。 例如,我想打印结果中每个城镇和组名的每个名称。
我的请求如下:
SELECT Town, GROUP_CONCAT(DISTINCT name,';')
FROM MY_TABLE
WHERE action IS NOT NULL
GROUP BY Town;
"''"在GROUP_CONCAT中指定我想要使用的分隔符。如果我使用DISTINCT和分隔符选项,它会返回此错误:
错误:DISTINCT聚合必须只有一个参数
如果我在没有分隔符选项的情况下使用DISTINCT,它可以工作,如果我使用没有DISTINCT的分隔符,它也可以工作。
感谢您的帮助。
答案 0 :(得分:1)
您可以先尝试使用子查询来为每个城镇生成所有不同的名称。然后,进行当前聚合:
SELECT
Town, GROUP_CONCAT(name, ';')
FROM
(
SELECT Town, name
FROM MY_TABLE
WHERE action IS NOT NULL
GROUP BY Town, name
) t
GROUP BY Town;