我需要一个查询,其中结果只显示组concat中有多个值的记录。我只对group_contact列中显示多个值的记录感兴趣。
我有一个更改日志表,用于存储PO的价格变化。 PO价格的每次变化都是表格中的另一个条目。到目前为止,这是我的查询:
SELECT PONum, POLine, GROUP_CONCAT(DISTINCT DocUnitCost) AS priceChanges
FROM `podetailcl`
WHERE 1 -- ?something here saying where COUNT of price changes > 1?
GROUP BY PONum, POLine
我可能需要使用HAVING,但我不太清楚如何构建它。我确实在其他页面上尝试了这些建议,但我仍然迷失在这一页上。
答案 0 :(得分:3)
您应该使用过滤器聚合结果,而不是..
SELECT PONum, POLine, GROUP_CONCAT(DISTINCT DocUnitCost) AS priceChanges
FROM `podetailcl`
GROUP BY PONum, POLine
having count(DISTINCT DocUnitCost)>1
答案 1 :(得分:1)
SELECT PONum, POLine, GROUP_CONCAT(DISTINCT DocUnitCost) AS priceChanges
FROM `podetailcl`
GROUP BY PONum, POLine
HAVING COUNT(DISTINCT DocUnitCost) > 1