PHP,MySQL-从数组中获取与所有项匹配的行

PHP,MySQL-从数组中获取与所有项匹配的行,php,mysql,sql,Php,Mysql,Sql,我有一个疑问。我在这里和谷歌上搜索过,但没有找到解决方案。我可以使用循环或替代解决方案来完成,但这将意味着需要花费时间(页面加载)。。。。因此,我想知道是否有“一个查询”的解决方案 我有一个包含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

我有一个疑问。我在这里和谷歌上搜索过,但没有找到解决方案。我可以使用循环或替代解决方案来完成,但这将意味着需要花费时间(页面加载)。。。。因此,我想知道是否有“一个查询”的解决方案

我有一个包含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;

这可以通过使用SQL语句语法简单地实现,具体取决于要执行的操作。挑选原始数据可以这样做:

SELECT * FROM YourTable
   WHERE day='1' and hour='3'
这也行

SELECT day,hour
FROM Table1
WHERE (class = '9b3' or class =  '9b4' or class = '9b5')
GROUP BY day,hour
HAVING COUNT(class) = 3;

这里有一个以前已经回答过的类似问题:您指向我的链接正在工作。。。。只要您需要匹配数组中的一个元素。我想要的是找到所有元素都具有相同值的日期和时间,而不是“数组中的至少一个元素”。希望你能理解我拙劣的英语这部作品!拥有计数(类)=3是解决方案。谢谢!只按天分组不起作用。但是,每天使用组,小时是有效的!
SELECT day,hour
FROM Table1
WHERE (class = '9b3' or class =  '9b4' or class = '9b5')
GROUP BY day,hour
HAVING COUNT(class) = 3;