3

クエリに問題があります。こことGoogleで検索しましたが、解決策が見つかりません。ループまたは代替ソリューションでそれを行うことができますが、これは時間がかかることを意味します(ページの読み込み時)...だから、「1つのクエリ」ソリューションがあるかどうか知りたいです。

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

私が必要としているのは、3 つのクラス 9b3、9b4、9b5 すべてに一致する日時を同じ日時に復元することです。

上記の例では、結果は次のようになります。

day   hour
1      3
3      6
4

4 に答える 4

3

これを試して:

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

sqlfiddle demo

于 2013-10-19T22:04:26.110 に答える
1
SELECT day,hour FROM table
WHERE class IN('9b3','9b4','9b5')GROUP BY day HAVING COUNT(class)=3;
于 2013-10-19T22:03:32.830 に答える