複数の同じエントリを持つテーブルがあり、それぞれの最初のテーブルだけを表示したいとします。mysqlの同じエントリに対して1行だけを表示する
userid | event
1 01-01-2017
2 09-12-2016
2 05-06-2017
2 09-12-2016
3 10-03-2017
...
とあなただけの1つの日付(ユーザーあたり例えば、最小1)表示したい:
userid | event
1 01-01-2017
2 09-12-2016
3 10-03-2017
....
通常、私は、サブクエリをしようとするだろう:
SELECT userid, event FROM table as A
WHERE event=(SELECT min(event) FROM table as B WHERE A.userid = B.userid)
が、MySQLで、このディスプレイをそのユーザーは2つの同一の最小日付を持つため、userid = 2の2行。
行のうちの1つだけに?あなたのSELECT
にDISTINCT
の追加について
単純な 'group by'で十分です。 –
最初に日付を日付として保存します。次へ:RDBMSのテーブルにはPRIMARY KEYSが必要です。それ以外の場合はテーブルではありません。 – Strawberry