[英]PHP, MySQL - Get rows matching all items from an array
我的查询有问题。 我在这里和谷歌搜索但找不到解决方案。 我可以使用循环或替代解决方案,但这将意味着耗时(在页面加载时)....所以我想知道是否有“一个查询”解决方案。
我有一个包含4列的表:
id class day hour
1 9b3 1 3
2 9b4 1 3
3 9b5 1 3
4 9b3 1 5
5 9b4 2 6
6 9b5 2 6
7 9b4 4 7
8 9b3 3 6
9 9b4 3 6
10 9b5 3 6
我需要的是恢复在同一天和每小时匹配所有三个类9b3,9b4,9b5的日期和小时。
在上面的例子中,结果应该是:
day hour
1 3
3 6
试试这个:
SELECT day,hour
FROM yourTableName
WHERE class IN ('9b3','9b4','9b5')
GROUP BY day,hour
HAVING COUNT(class) = 3;
SELECT day,hour FROM table
WHERE class IN('9b3','9b4','9b5')GROUP BY day HAVING COUNT(class)=3;
也有效......
SELECT day,hour
FROM Table1
WHERE (class = '9b3' or class = '9b4' or class = '9b5')
GROUP BY day,hour
HAVING COUNT(class) = 3;
这可以通过使用SQL语句语法来实现,具体取决于您要执行的操作。 选择原始数据可以这样做:
SELECT * FROM YourTable
WHERE day='1' and hour='3'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.