MySQL仅显示GROUP_CONCAT的COUNT>的记录。 1

时间:2017-03-20 14:03:15

标签: mysql

我需要一个查询,其中结果只显示组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

其他信息: enter image description here

我可能需要使用HAVING,但我不太清楚如何构建它。我确实在其他页面上尝试了这些建议,但我仍然迷失在这一页上。

2 个答案:

答案 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