我正在查看一个像这样设置的表:
Month | Year | Item
1 | 2016 | a
1 | 2016 | b
1 | 2016 | c
2 | 2016 | a
2 | 2016 | b
2 | 2016 | c
3 | 2016 | a
3 | 2016 | b
当a,b和c都存在时,我希望获得最高月份和年份值,在本例中为2016年。
答案 0 :(得分:2)
允许出现在Item列中的其他值,您可以使用:
SELECT TOP (1) Year, Month
FROM myTable
WHERE Item in ('a', 'b', 'c')
GROUP BY Year, Month
HAVING COUNT(DISTINCT Item) = 3
ORDER BY Year DESC, Month DESC
如果你的项目价值只是' a',' b'或者' c'那么你可以省略where
子句。