no(auto increment)
,user(varchar)
、timein (timestamp)
、timeout (timestamp)
からなるデータベーステーブルがあります。SQL SELECT distinct query
私は複数のユーザーのタイムアウトとタイムアウトを取得したいのですが、問題が発生しています。
私が得ることができる最も近いからです:私が得る出力が
SELECT * FROM userdata WHERE no IN (SELECT MIN(no) FROM userdata GROUP BY user)
UNION
SELECT * FROM userdata WHERE no IN (SELECT MAX(no) FROM userdata GROUP BY user)
されています:
[{"no":"1","user":"Alan","timein":"2017-01-12 12:31:19","timeout":"0000-00-00 00:00:00"},{"no":"3","user":"Alan","timein":"2017-01-12 12:34:00","timeout":"2017-01-12 12:34:00"}]
は私が個別のユーザーを得ることができる方法はあります(その出力は繰り返しません) MIN(timein)とMAX(timeout)を1行に表示するSQL?
所望の出力:{ "ユーザー": "アラン"、 "timein": "12時31分19秒"、 "タイムアウト": "12時34分00秒"}
|---------------------|------------------|------------|------------|
| no | user | timein | timeout |
|---------------------|------------------|------------|------------|
| 1 | Alan |12:31:19 | 12:31:19 |
|---------------------|------------------|------------|------------|
| 2 | Bill |12:33:00 | 12:33:00 |
|---------------------|------------------|------------|----------- |
| 3 | Alan |12:34:00 | 12:34:00 |
|---------------------|------------------|------------|----------- |
これを試してみてください! –