MySQL 分组选出某值最大的一行数据(需要加 limit)

MySQL 分组选出某值最大的一行数据(需要加 limit),第1张

在mysql中使用group by进行分组后取某一列的最大值,我们可以直接使用MAX()函数来实现,但是如果我们要取最大值对应的ID

那么我们需要取得整行的数据该怎么办?

起初搜寻到的资料是这样的:

首先按照 create_time 倒叙排序,然后分组,那么每个分组中排在最上面的记录就是时间最大的记录

但是结果不是这样的,经过搜集资料,得出需要在排序后边加 limit 10000000000

如果不加的话,数据不会先进行排序,通过 explain 查看执行计划,可以看到没有 limit 的时候,少了一个 DERIVED *** 作。

优先选取最大值。

mysql在表关联有多个值的时候,系统会默认选择最大值,因为最大值是最稳定的,不会容易被篡改。

在关联有多个值的时候要根据情况选择是最大值还是最小值,看情况而定。

答案如下:

1、定义mysql平均值最大的班级为10的整型一维数组d和大小为6的单精度浮点型数组x,要求使用符号常量代替10和6(如 6,M即为符号常量,代表6),将数组d初始化为“10, 2, 3, 4, 5, 50, 11, 20, 10, 9”。应用循环语句,从键盘给数组x的各元素输入数据,注意数据类型和输入格式字符匹配,要求数据大小不相等。

2.查找并输出数组d中的最大值和最大值对应的下标查找并输出数组d中的最小值和最小值对应的下标。在不同行输出最大值和最小值及其下标。

3.求数组x中各元素之和的平均值并输出平均值(保留2位小数),另外输出x中元素小于平均值的所有元素的下标和元素值,输出元素数据保留2位小数,数据项之间有空格,每个元素输出在不同的行。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8453635.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-16
下一篇2023-04-16

发表评论

登录后才能评论

评论列表(0条)

    保存