如果我想找到恰好在两个不同年份出版的书名,这行得通吗?
SELECT books1.title
FROM Books books1 INNER JOIN Books books2 ON books1.title = books2.title
WHERE books1.year <> books2.year
GROUP BY books1.title
HAVING COUNT(*) = 1
所以我认为这会将所有行连接到具有相同标题的其他行,然后它会返回标题,其中只有一行具有不同的 books1.year 和 books2.year 相同的标题。这是它的作用吗?
最佳答案
您可以按 title
对记录进行分组,并仅统计和过滤具有两个唯一值 year
的记录。
SELECT title
FROM Books
GROUP BY title
HAVING COUNT(DISTINCT year) = 2
关于sql - 使用 HAVING 查找恰好一行满足条件的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20551007/