人生的路到底有多远并不重要,当务之急是珍惜生命的每一秒;不管事情变得多坏,在不远的地方,相信总会有一些美好即将来临
MySql 当数据量大的时候,有人说需要添加索引,以及数据分页查询,但我要说的是不单单是这些,比如说加索引,什么样的索引效果最佳,索引实现的原理是什么样的,数据量大的时候我要查询一个最大值怎么办 等等一系列的细节。
- 在MySQL中当有多个索引时 你知道MySQL是如何选择索引的吗 ?
- MySql 你真的会使用字符串索引吗???
- MySql 应该选择普通索引 还是唯一 索引???
- MySql 一条普通的查询语句 你知道如何优雅的使用 前缀索引、索引下推优化查询速度吗?
- MySql 一条普通的查询语句 你知道需要执行几次树的搜索操作以及会扫描多少行吗??? MySql 索引覆盖
本文章的主要内容是 根据用户的ID来分组查询并获取每组的最大值,如下图所示
我一张普通的积分记录表中,查询出符合条件的数据有3条,当然这是我针对一个用户来查询的,假如我需要获取这三条数据中的 task_correct 最大值的那一条记录,我们可以这样来写
SELECT
a.user_name,
a.task_num,
a.task_correct,
a.integral_num,
a.integral_recoder_remark,
a.screate_time
FROM
(
SELECT
COUNT(*),
id,
max( task_correct ) task_correct
FROM
t_integral_recoder AS q
WHERE
q.sta_mine_id = 54
AND q.category_one = "E0B2E1F8-498E-44"
AND q.category_two = "488863BE-9F55-4C"
AND q.user_name = "用户姓名"
AND q.screate_time BETWEEN "2021-06-01" AND "2021-07-31"
GROUP BY
q.sta_user_id
) b
INNER JOIN t_integral_recoder a ON a.id = b.id
查询结果如下