我需要选择A列和B列的不同组合,并为A,B组合不唯一的所有行返回A的值。
这是我的查询,我想以某种方式添加要显示在结果中的列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 :(得分: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
答案 1 :(得分:0)
这是你想要的吗?
SELECT distinct A
FROM files_imported
WHERE file_id = 13
GROUP BY A, B
HAVING count(id) > 1;