0
次のクエリは、ビデオに2つのカテゴリが関連付けられているため、合計で1ではなく2行を返します。INNER JOINを使用したMySQLのカウント
SELECT COUNT(video.id) AS `total`
FROM `videos` AS `video`
INNER JOIN `videos_categories` AS `video_category` ON `video_category`.`video_id` = `video`.`id`
INNER JOIN `categories` AS `category` ON `category`.`id` = `video_category`.`category_id`
WHERE video.title = 'John Mcane' OR category.description = 'Traditional'
テーブルvideos_categories
には2つの行があり、それが問題です。
id | video_id | category_id
1 1 1
1 1 2
PHPで配列をカウントすることはできますが、それは正しくありません。どのように私はこれを解決することができますの任意のアイデア? Group by
が機能しませんでした。
ここでIDは重複していますか?ユニークではないと思いますか? – Ash
この簡単な2ステップのアクション・コースに従ってください。1.まだ実行していない場合は、問題をより簡単に複製できるように、適切なCREATEおよびINSERTステートメント(および/またはsqlfiddle)を提供してください。 2.まだ実行していない場合は、手順1で提供された情報に対応する望ましい結果セットを提供します。 – Strawberry