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的行,而只是包含这两个的行。提前谢谢!