gpt4 book ai didi

mysql - mysql - 检查选定的行是否包含相同的值

转载 作者:可可西里 更新时间:2023-11-01 08:10:12 26 4
gpt4 key购买 nike

我需要在 mysql 中检查某些列是否包含相同的值,但实际上还不知道该值。到目前为止,我找到的所有解决方案都是结合使用 count 和 where 子句。但这对我不起作用,因为我不知道列的值。例如:

Index   ColB    ColC    ColD    ColE
1 1 cat 1.3 black
2 1 cat 1.3 black
3 1 cat 1.3 white
4 1 cat 1.3 tiger
5 1 cat 1.3 white

我想检查 3 列 ColB、ColC 和 ColD 是否具有相同的值。对于上表,它应该返回 true。但是对于下表,它应该返回 false

Index   ColB    ColC    ColD    ColE
1 1 dog 1.3 black
2 1 cat 1.3 black
3 2 cat 1.3 white
4 1 cat 1.3 tiger
5 1 cat 2.7 white

规则应该是这样的:if(ColB_hasDifferentValues || ColC_hasDifferentValues || ColD_hasDifferentValues) { return true } ;

这可能吗?正如我之前所说,我不知道 ColC 中包含哪些动物,因为用户可以插入新动物。

提前致谢!

最佳答案

只需使用max()min():

select (case when max(b) = min(b) and max(c) = min(c) and max(d) = min(d)
then 'same'
else 'different'
end)
from t;

此逻辑忽略了 NULL 值(OP 根本没有提及 NULL 值)。这个想法可以扩展,但逻辑有点复杂。

关于mysql - mysql - 检查选定的行是否包含相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37083641/

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