2011-06-20 10 views
2
number  | time 

421112233444 | 1304010250
421112233444 | 1304272979
421001122333 | 1303563263
421112233444 | 1300217115
421001122333 |私はこのような二行目から最低数、ユニークで最初の行を返す必要が1303649310
データベースから別の1行目を選択

421112233444 | 1300217115
421001122333 | 1303563263

私は、次のようにしてみてください。ph.number、mo.time from(テーブルから別のものを選択)ph、table mo where mo.number = ph.number;

が、それは両方のユニーク返します

421112233444を| 1304010250
421112233444 | 1304272979
421001122333 | 1303563263
421112233444 | 1300217115
421001122333 | 1303649310

+1

がDISTINCT SELECT ONに役立ちます:) http://stackoverflow.com/questions/3800551/sql- group-first-row-in-groupグループ別 – aloplop85

答えて

3

あなたがこれを行うにGROUP BYを使用することができます。

SELECT number, MIN(time) 
FROM table 
GROUP BY number 
ORDER BY number DESC 
LIMIT 2 
+0

ああ、それは本当に今私を助けました!なぜORDER BYコマンドだけがここで動作しないのですか?私はクエリでほとんど同じものを持っていますが、 'ORDER BY'だけを残すと、この' column "p.mydateはGROUP BY句に現われなければならないか、集約関数で使わなければならないでしょう。 – DanilGholtsman

+1

あなたは、 group by節にもないselect句の集約されていない列。 –

0
SELECT ph.number, min(mo.time) from (select distinct(number) from table) ph, table mo group by ph.number 
関連する問題