2016-11-23 6 views
3

SQLを使用してこれを達成するのを手伝ってもらえますか?私はSQLの非常に基本的なユーザーであり、HAVING句と組み合わせてGROUP BYを使ってやってみましたが、それは私が望むレコードをフィルタリングしていました。SQLを使用してテーブル内の最大レコードを指定する

私がここで目指したいのは、相対月の列です。最大MonthNUmberがあるどこcorrepsponding列には、あなたがこれを行うにサブクエリを使用することができ、「今月」

enter image description here

答えて

3

として指定する必要があります:私は理解したよう

SELECT ID, 
     EmpName, 
     MonthNumber, 
     CASE WHEN MonthNumber = (SELECT MAX(MonthNumber) FROM yourTable) 
      THEN 'Current' ELSE NULL END AS RelativeMonth 
FROM yourTable 
0

MAXかもしれあなたにサービスを提供します目的

0

SELECT RelativeMonth FROM table WHERE MonthNumber = (SELECT Max(MonthNumber) FROM table)

1

@Tim Biegeleisenが権利を有します私はmaxのウィンドウイングバリアントを使用すると、と多くの場合、がより洗練されたものになると思うが(理論的には速くてもよいが、そうした主張を受け入れるのではなく、

SELECT ID, 
     EmpName, 
     MonthNumber, 
     CASE MonthNumber WHEN MAX(MonthNumber) OVER() THEN 'Current' END 
from mytable; 
関連する問題