-1

エラーが見つからなかったため、このクエリが正しく機能しない理由がわかりません

SELECT U.user_name, 
  COUNT(*) AS fav_count 
FROM Users AS U 
LEFT JOIN Favorites AS F 
  ON F.user_id = U.user_id;

どうもありがとうございました。私の下手な英語で申し訳ありません!

4

4 に答える 4

1

クエリを次のように変更します。

SELECT U.user_name, COUNT(F.user_id) AS fav_count 
FROM Users AS U 
LEFT JOIN Favorites AS F ON F.user_id = U.user_id
GROUP BY U.user_name

これにより、次の 2 つの問題が解決されます。

  1. GROUP BYユーザーごとのカウントを取得するには、 を使用する必要があります。

  2. 式では、NULL 行がカウントされないようCOUNT()に、テーブル内の列を指定する必要があります。LEFT JOINそうfav_count = 1しないと、お気に入りのないユーザーが取得されます。

于 2013-06-25T16:48:49.103 に答える
0

select sum(),count(),avg(),max() でこのコマンドを使用する場合は、group by を使用する必要があります。

于 2013-06-25T19:27:48.853 に答える