我的查询有问题。我在这里和谷歌搜索但找不到解决方案。我可以使用循环或替代解决方案,但这将意味着耗时(在页面加载时)....所以我想知道是否有“一个查询”解决方案。
我有一个包含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
答案 0 :(得分:2)
试试这个:
SELECT day,hour
FROM yourTableName
WHERE class IN ('9b3','9b4','9b5')
GROUP BY day,hour
HAVING COUNT(class) = 3;
答案 1 :(得分:1)
SELECT day,hour FROM table
WHERE class IN('9b3','9b4','9b5')GROUP BY day HAVING COUNT(class)=3;
答案 2 :(得分:1)
也有效......
SELECT day,hour
FROM Table1
WHERE (class = '9b3' or class = '9b4' or class = '9b5')
GROUP BY day,hour
HAVING COUNT(class) = 3;
答案 3 :(得分:0)
这可以通过使用SQL语句语法来实现,具体取决于您要执行的操作。选择原始数据可以这样做:
SELECT * FROM YourTable
WHERE day='1' and hour='3'