gpt4 book ai didi

mysql - 如何从MySQL中查找只有部分字段符合条件的记录?

转载 作者:行者123 更新时间:2023-11-29 10:18:21 24 4
gpt4 key购买 nike

我是 MySQL 菜鸟,我遇到了以下问题。我有一个表,其中有 3 个数值字段。我称它们为 A、B 和 C。我想查找至少有两个值 > 60 的记录。解决问题的一种方法是

SELEC * FROM table WHERE (A>60 AND B>60) OR (A>60 AND C>60) OR (B>60 AND C>60) OR (A>60 AND B>60 AND C>60)

但我不认为这是一种优雅的方式。只有 3 个值。如果表中有10或20个值字段,并且我还想查找至少有两个值> 60的记录。使用上面的方法来解决问题会非常难看。那么有没有更好的方法来解决这个问题呢?

最佳答案

尝试使用GREATESTLEAST函数:

SELECT *
FROM yourTable
WHERE
GREATEST(A, B, C) > 60 AND -- largest value
(A + B + C) - GREATEST(A, B, C) - LEAST(A, B, C) > 60; -- 2nd largest value

Demo

但老实说,您现在拥有的版本几乎与我上面写的一样简洁。

关于mysql - 如何从MySQL中查找只有部分字段符合条件的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49765309/

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