0

stackoverflow での私の最初の投稿は、優しくしてください!

このようなレコードを持つテーブルを持つMySQL(5.5.24)データベース(WAMPセットアップ)があります

Person_ID     R_Date    

137           2013-01-01    
137           2013-02-01
137           2013-03-15  
168           2013-01-01
168           2013-02-01
168           2013-03-21
172           2013-01-01
172           2013-02-01
172           2013-03-27

ただし、最新/最新の R_Date を使用して、Person_ID ごとに 1 つのレコードを作成したいと考えています。

したがって、結果は次のようになります。

Person_ID    R_Date

137          2013-03-15
168          2013-03-21
172          2013-02-27

用語がよくわからないので、答えを探すのに苦労しました。おそらく本当に単純なものです。

複数の MySQL クエリと組み合わせた PHP While ループを使用してこの結果を取得することは可能ですが、可能であれば純粋な MySQL ソリューションを求めています。たぶん、私が求めている結果はサブクエリで達成できますか?

ありがとう

4

3 に答える 3

0
SELECT *
FROM PERSONTABLE a
WHERE R_Date = ( SELECT MAX(R_Date) 
                 FROM PERSONTABLE b 
                 WHERE a.Person_ID = b.Person_ID
               )
于 2013-04-19T10:26:25.850 に答える
0
SELECT Person_ID, MAX(R_Date) FROM <YourTable> GROUP BY Person_ID
于 2013-04-19T10:27:26.920 に答える