当前位置:   article > 正文

MySql Max函数和Group By 同时使用数据不匹配_mysql max值与其他字段值不对应

mysql max值与其他字段值不对应

需求:查询订单中出单最多的商品名
当时写的sql:

SELECT
	max(t.num),
	t.NAME,
	t.spu
FROM
	(
		SELECT
			count(1) AS num,
			NAME,
			spu		
		FROM
			user_order_info
		WHERE
			user_id = 6
		GROUP BY
			spu
	) t 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

内部查询结果内部查询结果为这个,这时还是我想要的,但是整体查询如下:
在这里插入图片描述这就乱了,虽然也可以查询出最大num,但是数值和其他自动根本对应不上,因为group by返回分组后的组内第一条数据信息,max函数对应的是最大数量。

解决方法: 按max的量进行倒序排列,输出第一列的值就是想要的值。

在这里插入图片描述
但是还有一个问题就是如果统计出的单量一致的情况,这两条数据就会随机出
解决方法就是在排序时多加一个排序字段,让其固定

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/952722
推荐阅读
相关标签
  

闽ICP备14008679号