首页 > 解决方案 > 如何在 MySQL 中使用 max

问题描述

我有一个名为 user 的表,如下图所示。在给定的表中,我想选择偏移量为 1 的最大值。

桌子

我使用的查询如下:

select offset, max(value) as max_val from user having offset = 1

从上面的查询我期待max_value = 4,但我得到max_value = 0. 请帮我。

标签: mysql

解决方案


在您的场景中,简单WHERE的子句GROUP BY就足够了:

SELECT `offset`, max(value) as max_val 
FROM `user` 
WHERE `offset` = 1
GROUP by `offset`

还要尽量避免将保留字作为列名,您可能需要通过用`(反引号)封装来转义列名

或使用 with withGROUP BY

select `offset`, max(value) as max_val 
from `user` 
group by `offset`
having `offset` = 1

推荐阅读