2014-01-27 93 views
0

我需要選擇列A和B的不同組合,並返回A,B組合的所有行的值A不唯一。MySQL - 選擇2列的不同組合並分別返回值

這是我的查詢,不知何故,我希望添加的A列在結果中顯示哪些:

SELECT DISTINCT A, B, count(id) as cnt FROM files_imported WHERE file_id = 13 GROUP BY A, B HAVING cnt > 1 

查詢工作正常的是,但我需要修改它,所以我可以得到的值A滿足上述條件。

回答

0

您可以使用「UNION」合併兩個查詢結果(需要指出的是,他們需要具有相同的列數據類型 - 這解釋了'從第二查詢) 所以,你的查詢將是:

SELECT DISTINCT A, B, count(id) as cnt FROM files_imported WHERE file_id = 13 GROUP BY A, B HAVING cnt > 1 
UNION 
SELECT DISTINCT A, '', count(id) as cnt FROM files_imported WHERE file_id = 13 GROUP BY A, B HAVING cnt = 1 
0

這是你想要的嗎?

SELECT distinct A 
FROM files_imported 
WHERE file_id = 13 
GROUP BY A, B 
HAVING count(id) > 1; 
相關問題