也许标题不是我能用来描述问题的最佳标题 我正在处理的表结构示例如下图所示。我需要编写一个查询来提取具有多个记录的“制造商”的所有记录。所以最终结果我会有 LINUX UBUNTU 5.6 和 LINUX REDHAT 7.8
只需返回重复的 MANUFACTURE 很容易,我可以使用具有 count(*) > 1 的分组来做到这一点,但是当涉及到返回重复的制造和相应的列时,我遇到了问题。
最佳答案
returning the duplicated MANUFACTURE is easy and I can do that with using grouping
having count(*) > 1
这是一个好的开始。现在使用 manufacture
列表来选择其余数据:
SELECT *
FROM software
WHERE manufacture IN (
-- This is your "HAVING COUNT(*) > 1" query inside.
-- It drives the selection of rows in the outer query.
SELECT manufacture
FROM software
GROUP BY manufacture
HAVING COUNT(*) > 1
)
关于SQL Group by Having > 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31858790/