gpt4 book ai didi

mysql - 包含 5 个指定值中的 2 个的行数

转载 作者:行者123 更新时间:2023-11-29 06:04:30 24 4
gpt4 key购买 nike

我有下表:

n1|n2|n3|n4|n5
1| 5| 4| 7|26
26|80|75| 1|10
5| 3| 2| 1|4
45|26|88| 3|66
88|48| 1|69|90

我正在尝试获取出现 5 个指定值中的 2 个的行数。例子:26、1 和 88。在上表中,26 和 1 出现在 2 行(第 1 行和第 2 行); 26 和 88 出现在 1 行(第 4 行); 88 和 1 出现在 1 行(第 5 行)。

我可以使用

SELECT COUNT(*) FROM your_table
WHERE 1 IN (n1,n2,n3,n4,n5) OR 26 IN (n1,n2,n3,n4,n5) OR 88 IN (n1,n2,n3,n4,n5)

但这样我也能得到只包含 1 个数字的行。

是否有一种快速的方法可以在 mySQL 中执行此操作,或者我应该在 PHP 中构建一些函数?

非常感谢您的帮助

最佳答案

in()如果值存在则返回 1,如果不存在则返回 0,因此您可以将它们相加并查找 2。

SELECT COUNT(*)
FROM your_table
WHERE ((1 IN (n1,n2,n3,n4,n5)) + (26 IN (n1,n2,n3,n4,n5)) + (88 IN (n1,n2,n3,n4,n5))) = 2

关于mysql - 包含 5 个指定值中的 2 个的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12215578/

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