gpt4 book ai didi

MySQL - 使用 WHERE 或 HAVING 子句中的结果计算每行中两列的值

转载 作者:行者123 更新时间:2023-11-29 00:44:37 25 4
gpt4 key购买 nike

我有一个像这样的 MySQL 数据库模式:

id    flags     views    done
-------------------------------
1 2 20 0
2 66 100 0
3 25 40 0
4 30 60 0

... thousands of rows ...

我想更新所有标志/ View >= 0.2 的行。首先作为测试,我想尝试 SELECT 以查看实际更新了多少行。我试过:

SELECT flags/views AS poncho FROM mytable HAVING poncho > 0.2

但这只返回 2 行,我知道应该不止于此。它似乎在计算所有行的雨披值或一些奇怪的东西。我做错了什么?

谢谢!

最佳答案

使用 WHERE 子句代替 HAVING:

SELECT flags/views AS poncho FROM mytable WHERE flags/views > 0.2

HAVING 将所有相同的值聚合到一行中。 SQL 标准不允许没有相应GROUP BYHAVING 子句,但MySQL 对该标准非常宽松。你所拥有的实际上与

SELECT flags/views AS poncho
FROM mytable
GROUP BY poncho
HAVING poncho > 0.2

手册中有更多信息 here .

关于MySQL - 使用 WHERE 或 HAVING 子句中的结果计算每行中两列的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10974221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com