私は mysql 1にこのテーブルを持っています。
この例では、entity_id=6 のみが field_tags_tid=2 および field_tags_tid=7 と一致するため、結果は 1 になります。
私は mysql 1にこのテーブルを持っています。
この例では、entity_id=6 のみが field_tags_tid=2 および field_tags_tid=7 と一致するため、結果は 1 になります。
この問題はよく呼ばれますRelational Division
SELECT entity_ID
FROM tableName
WHERE field_tags_ID IN (2,7)
GROUP BY entity_ID
HAVING COUNT(*) = 2
field_tags_ID
一意性が毎回強制されていない場合entity_ID
は、DISTINCT
キーワードが必要です。それ以外の場合は、そのままにして、
SELECT entity_ID
FROM tableName
WHERE field_tags_ID IN (2,7)
GROUP BY entity_ID
HAVING COUNT(DISTINCT field_tags_ID) = 2
更新 1
SELECT COUNT(*) totalCOunt
FROM
(
SELECT entity_ID
FROM tableName
WHERE field_tags_tid IN (2,7)
GROUP BY entity_ID
HAVING COUNT(DISTINCT field_tags_tid) = 2
) s