【发布时间】:2014-02-21 07:24:33
【问题描述】:
对 mysql 真的很陌生。我正在尝试从 table2 查询以显示每个用户的最新登录,但我想按 table1 中的 uid 顺序显示结果。我正在使用从另一个线程中找到的这个查询,但它显示基于时间戳而不是 uid 的结果:
SELECT *
FROM (SELECT * FROM table2 ORDER BY timestamp DESC) AS x
GROUP BY username
这是我正在寻找的表格和结果:
表1
------------------
| uid | username |
------------------
| 1 | user1 |
------------------
| 2 | user2 |
------------------
| 3 | user3 |
------------------
| 4 | user4 |
------------------
表2
--------------------------------------------
| timestamp | username | logins |
--------------------------------------------
| 2014-02-18 23:29:31 | user2 | OUT |
--------------------------------------------
| 2014-02-18 23:28:31 | user2 | IN |
--------------------------------------------
| 2014-02-18 23:27:31 | user3 | OUT |
--------------------------------------------
| 2014-02-18 23:26:31 | user1 | IN |
--------------------------------------------
| 2014-02-18 23:25:31 | user2 | OUT |
--------------------------------------------
| 2014-02-18 23:24:31 | user3 | IN |
--------------------------------------------
我希望得到这样的结果
--------------------------------------------
| username | timestamp | logins |
--------------------------------------------
| user1 | 2014-02-18 23:26:31 | IN |
--------------------------------------------
| user2 | 2014-02-18 23:29:31 | OUT |
--------------------------------------------
| user3 | 2014-02-18 23:27:31 | OUT |
--------------------------------------------
| user4 | null | null |
--------------------------------------------
我希望这已经足够清楚了。提前致谢!
【问题讨论】: