2017-01-13 3 views
0

私は一種の、このように設定されているテーブルで探しています:他の列の値に基づいて列の最大値を選択する方法を教えてください。

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 

のI、B、Cはこのケースでは、すべての存在する場合、最も高い月と年の値を取得したいです2、アイテム欄に表示される他の値を可能に2016年

答えて

2

、あなたが使用できます。

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句を省略することができます。

関連する問題