ため

2011-08-10 1 views
0

私はテーブルを持っている:ため

ident_nr|proj_nr|start_time| 
---------------------------- 
05.26.73|0000001|1116936920| 
09.56.df|0000002|1213431234| 
11.ac.12|0000003|1236485758| 
98.er.df|0000001|1287789755| 
70.12.5n|0000001|1011245554| 
33.dt.vp|0000003|1239125544| 

をそして私はこのような結果が欲しい:proj_nrはASCのためであると最大値との時間を開始

ident_nr|proj_nr|start_time| 
---------------------------- 
98.er.df|0000001|1287789755| 
09.56.df|0000002|1213431234| 
33.dt.vp|0000003|1239125544| 

注:ident_nrは一意であり、proj_nrは複数のident_nrを持つことができます。 データベース:MySQL。

この結果が得られるSQLクエリはありますか? おかげ

+1

複数のproj_nrがある場合、どのident_nrを選択しますか? – Jacob

+1

なぜこれがダウン表示されますか? – siride

+0

@サイード:おそらく問題があまり説明されていないためです。 –

答えて

1
SELECT t.ident_nr, t.proj_nr, t.start_time 
    FROM YourTable t 
     INNER JOIN (SELECT proj_nr, MAX(start_time) AS MaxTime 
         FROM YourTable 
         GROUP BY proj_nr) q 
      ON t.proj_nr = q.proj_nr 
       AND t.start_time = q.MaxTime 
    ORDER BY t.proj_nr; 
+0

ありがとうございました。あなたは私の一日を救った。 :) – Che

+0

@Che:喜んで助けてください。可能な場合は、その横のチェックマークをクリックして、この回答に合格とマークしてください。 –

1
SELECT t1.* 
FROM table AS t1 
INNER JOIN (
    SELECT proj_nr, MAX(start_time) AS MaxTime 
    FROM table 
    GROUP BY proj_nr) AS t2 
    ON (t1.proj_nr = t2.proj_nr AND t1.start_time = t2.MaxTime) 

あなたの基準はあなたのサンプルデータでMAX(start_time)のようです。そうでない場合は、あなたが望むものについてあなたの質問にもっと詳しく記述してください。

関連する問題