0

私はこのクエリを使用して、ほとんどの content_id で並べ替えられた結果を取得しています。問題は、リクエスト テーブルが空の場合でも、コンテンツ テーブルから 1 つの要素が返されることです。

select `c`.`id`, `c`.`title`, `c`.`slug`, `c`.`year`, `c`.`category`, `r`.*
, count(*) from requests as r
RIGHT JOIN `content` as c ON `r`.`content_id` = `c`.`id`
group by content_id order by count(*) desc
LIMIT 10

そして、リクエスト テーブルに 5 レコードのようなレコードがある場合、6 レコードが返されます。最初のレコードが要求テーブルにありません。誰か助けてくれませんか?ありがとう

4

2 に答える 2

1

INNER JOINの代わりに使用してみるRIGHT JOIN

于 2013-03-29T00:40:44.600 に答える
0

集計関数を使用すると、COUNT()常に行が返されるため、データベースはその関数の結果をゼロであっても報告できます。

于 2013-03-29T00:12:16.507 に答える