mysql - 如何在 MySQL 中使用 max
问题描述
我有一个名为 user 的表,如下图所示。在给定的表中,我想选择偏移量为 1 的最大值。
我使用的查询如下:
select offset, max(value) as max_val from user having offset = 1
从上面的查询我期待max_value = 4
,但我得到max_value = 0
. 请帮我。
解决方案
在您的场景中,简单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
推荐阅读
- php - 如何从不同列中的单独表中获取数据而不重复
- javascript - JSON API 问题
- python - AWS Lambda for python 3.8 上的导入请求
- javascript - 在 p5.js 中使用 preload() 时页面卡在“正在加载...”
- apache-spark - 使用kafka流在pyspark中使用先前数据和当前数据的方法
- f# - 编译器无法识别定义的类型
- javascript - Javascript 事件更改
- c# - PUT Ajax 请求返回 404 not found asp.net MVC
- python - Python3 pickle:AttributeError:无法获取属性'CHJ_tiny_obj'
- dvc - 如何为不同的文件夹使用不同的遥控器?