Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 搜索具有相同sql值的多行_Mysql_Database - Fatal编程技术网

Mysql 搜索具有相同sql值的多行

Mysql 搜索具有相同sql值的多行,mysql,database,Mysql,Database,我的数据库中有一个表,其结构如下: ID | Date | Ball1 | Ball2 | Ball3 | Ball4 | Ball5 | Ball6 | Ball7 | BonusBall 所有的球行都是整数 我现在要做的是编写一个select查询,它选择所有具有多个相同值的行 例如,包含1和12的所有行 我尝试了以下查询,但这并不能完全满足我的要求: SELECT * FROM number WHERE ball1 OR ball2 OR ball3 OR ball4 OR ball5

我的数据库中有一个表,其结构如下:

ID | Date | Ball1 | Ball2 | Ball3 | Ball4 | Ball5 | Ball6 | Ball7 | BonusBall
所有的球行都是整数

我现在要做的是编写一个select查询,它选择所有具有多个相同值的行

例如,包含1和12的所有行

我尝试了以下查询,但这并不能完全满足我的要求:

SELECT * FROM number 
WHERE ball1 OR ball2 OR ball3 OR ball4 OR ball5 OR ball6 OR bonusball IN (1,12);

我走对了吗?有什么建议吗?

您的解决方案已经相当不错了,但是如果您想检查每个字段,我相信您必须这样写:

SELECT * FROM test
WHERE (ball1 = 1 OR ball2 = 1 OR ball3  = 1  
OR ball4  = 1 OR ball5 = 1 OR ball6  = 1 OR bonusball = 1)
AND (ball1 = 12 OR ball2 = 12 OR ball3 = 12  
OR ball4 = 12 OR ball5 = 12 OR ball6 = 12 OR bonusball = 12);
虽然我不建议在高流量环境中运行此查询。最好有两张桌子。一个包含“彩票”,另一个包含“球”。在那里球会有一个参考彩票表


你应该试着阅读。

首先,你应该练习“规范化”

第二个更好的语法是

SELECT * 
FROM number 
WHERE ball1 in (1,12) 
OR ball2 in (1,12) 
OR ball3 in (1,12) 

etc

非常感谢!我只需要验证一下我做的是否正确。非常感谢Liamac实际上我应该解释得更好一点这确实会带来包含1和12的行,例如,但是我是不是只会带来包含1和12的行?提前谢谢!为了反映这一点,我改变了答案。这应该行得通。如果我的答案对您有帮助,请将其标记为解决方案:-)谢谢您的建议使用正确的语法总是更好的练习,所以也谢谢您!而且你的反应太快了!谢谢对不起,各位,我实际上应该解释得更清楚一点,我不想要任何包含1或12的行,而只是包含这两个的行。提前谢谢!