mysql - 在 MySQL 中对行进行分组并选择最高 ID
问题描述
我在下面有这张表:
+----+--------+------------+-----------+-------+
| id | UserID | LoginDate | LoginTime | Login |
+----+--------+------------+-----------+-------+
| 31 | 21 | 10/28/2020 | 9:32:36 | 1 |
| 32 | 21 | 10/28/2020 | 10:38:30 | 1 |
| 34 | 2 | 10/28/2020 | 11:09:48 | 1 |
| 36 | 2 | 10/28/2020 | 11:10:09 | 1 |
+----+--------+------------+-----------+-------+
我想按 UserID 分组并仅返回具有最高 id 值的行,预期输出:
+----+--------+------------+-----------+-------+
| id | UserID | LoginDate | LoginTime | Login |
+----+--------+------------+-----------+-------+
| 32 | 21 | 10/28/2020 | 10:38:30 | 1 |
| 36 | 2 | 10/28/2020 | 11:10:09 | 1 |
+----+--------+------------+-----------+-------+
这是我的 MySQL 代码:
SELECT * FROM (SELECT * FROM tbltrackerlogins ORDER BY id DESC) AS ttl GROUP BY UserID
我假设内部选择查询已经对结果进行了排序,id
因此当它被分组时,它将显示具有最高 ID 的查询。但是输出仍然是这样的:
+----+--------+------------+-----------+-------+
| id | UserID | LoginDate | LoginTime | Login |
+----+--------+------------+-----------+-------+
| 31 | 21 | 10/28/2020 | 9:32:36 | 1 |
| 34 | 2 | 10/28/2020 | 11:09:48 | 1 |
+----+--------+------------+-----------+-------+
解决方案
推荐阅读
- flutter - 如何将 VLC 设置为我的应用默认视频播放器 Flutter
- sql-server - Standard Deviation of a Row
- python - QT:如何将程序生成的文件保存到用户的机器中
- youtube-api - YouTube - 用于创建广告的第三方广告 API?
- reactjs - 将 socket.io 集成到使用 REST 的 reactjs + redux
- c++ - 为什么函数 glViewport() 给我错误?
- python - multi_vowel_words 函数返回具有 3 个或更多连续元音的所有单词
- android - Kotlin DatePicker Pop-Up 在片段内不起作用:WindowManager$BadTokenException: Unable to add window -- token null is not valid;
- android - Kotlin,Android Studio:我无法让我的程序使用第二个适配器。列表视图
- css - Blazor WebAssembly 以不同的方式处理 css