回答
您是否有示例表?你在加入桌子吗?本示例使用连接,但LISTAGG列不在group by语句中。
下面是我编辑另一个问题的例子。
SELECT c.id,
c.model,
LISTAGG(d.name, ',')
within GROUP (ORDER BY d.name) AS "Drivers",
LISTAGG(c.color, ',')
within GROUP (ORDER BY c.color) AS "Colors"
FROM TBLCARS c
join TBLDRIVERS d
ON c.id = d.fid_tblcars
GROUP BY c.id,
c.model
ORDER BY c.id
下面是一个使用WITH子句,以及你使用CTE,并建立一个大的查询。
WITH cte
AS (SELECT c.id,
LISTAGG(c.color, ',')
within GROUP (ORDER BY c.color) AS "Colors",
LISTAGG(c.model, ',')
within GROUP (ORDER BY c.model) AS "Model",
LISTAGG(d.name, ',')
within GROUP (ORDER BY d.name) AS "Name"
FROM TBLCARS c
join TBLDRIVERS d
ON c.id = d.fid_tblcars
GROUP BY c.id)
SELECT *
FROM cte
我希望能够解释我的答案的人解释推理。我几乎没有使用Oracle SQL的经验,但是我的答案出现了,因为我在GROUP BY语句中使用了LISTAGG,而没有使用这些列。我没有任何示例代码,所以我给了它最好的拍摄。任何有关为什么将有助于未来参考的信息。谢谢。 – 2015-02-10 12:58:19
谢谢,我解决了你的问题。 – trogne 2015-02-10 14:26:08
我降低了投票率。你的SQL没有什么特别的错误,但是它没有回答这个问题。 – 2015-02-11 04:47:23
- 1. LISTAGG:组内组
- 2. 按多列分组,SUM在第一个分组按列
- 3. laravel按多列分组
- 4. R - 按多列分组
- 5. 按多列分组 - LINQ
- 6. 分组多个列
- 7. 从多个列按日期分组?
- 8. Clojure按多个键分组
- 9. 按多个值分组
- 10. 多分组做多列分组的5
- 11. 按两个值分组多维数组
- 12. 按列分组
- 13. Postgresql - 按列组分组
- 14. Python:按多列分组的值线图
- 15. 按多列分组的聚合函数
- 16. 总计按月分组的多列
- 17. 按SQL中的多列分组
- 18. 按帮助分组(按多个分组,重复)
- 19. 分组多列
- 20. 多个阵列分组 - ngRepeat
- 21. - [R分组在多个列
- 22. 按列值分组
- 23. 按3列分组
- 24. 按2列分组
- 25. 按两列分组
- 26. 选择/按多个列分组,但只计算一列的值
- 27. MySQL按分组计数多列
- 28. 按多列分组使用lambda
- 29. Linq查询:按多列分组
- 30. 按对象分组的多个字段
你有可能发布一些示例代码? – 2015-02-10 01:39:19
没有更整洁的方式。您必须列出GROUP BY子句中的所有列(除了常量,聚合和一些表达式之外)。 – 2015-02-10 07:03:37