mysql - mysql group 组的行
问题描述
在Mysql group rows我有一个糟糕的答案,现在我被其他部分阻止了。和我以前一样:
idlap idRider session time
1 45652 1 4
2 54645 1 2
3 45652 2 2
4 54582 2 1
5 51284 1 3
6 54582 1 3
7 54645 2 4
8 51284 2 5
9 54582 2 2
现在我需要计算较慢会话中的圈数和会话数。结果应该是一些:
id lowest sesion count laps
45652 1 1
54645 2 1
51284 1 1
54582 1 1
考虑到尼克策略,我尝试了很多不同的方法,但没有任何效果。感谢您的帮助。
解决方案
您应该能够在该查询中更改MIN
为。MAX
请注意,51284
最慢的时间实际上是在会话 2(时间 = 5)中,而不是在会话 1 中。
SELECT l.idRider, l.session, l.time, s.numlaps
FROM laps l
JOIN (SELECT idRider, `session`, MAX(time) AS slowest, COUNT(*) AS numlaps
FROM laps
GROUP BY idRider, `session`) s ON s.idRider = l.idRider AND s.session = l.session AND s.slowest = l.time
JOIN (SELECT idRider, MAX(time) AS slowest
FROM laps
GROUP BY idRider) f ON f.idRider = s.idRider AND f.slowest = s.slowest
ORDER BY idRider
输出:
idRider session time numlaps
45652 1 4 1
51284 2 5 1
54582 1 3 1
54645 2 4 1
推荐阅读
- php - 加入同一个表和列两次
- wpf - 组合框中每个项目的工具提示
- r - 在 R 中使用 Seq 函数
- python - Discord bot 无法使用 Python 在 Heroku 上运行
- ssl - 为什么浏览器有 3 级 SSL 证书?
- javascript - 用于从样式中删除高度/宽度的 Javascript 正则表达式
- python - 尝试使用 Python 3.7.2 和 IMAPClient 批量删除电子邮件 - imaplib.IMAP4.error: UID command error: BAD [b'Command line too large']
- python - LSTM ValueError:无法为测试数据重塑大小数组
- java - Vaadin 组合框 - 新项目
- amazon-web-services - s3 存储桶策略说策略中的主体无效,但相同的策略适用于其他存储桶