如果我想找到一个已在两年不同时间出版的书名,这有用吗?
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用于相同的标题。这是它的作用吗?
答案 0 :(得分:4)
您可以按title
对记录进行分组,并仅对具有两个唯一值year
的人进行计数和过滤。
SELECT title
FROM Books
GROUP BY title
HAVING COUNT(DISTINCT year) = 2