私を助けてくれてありがとう、私はまだ SQL を学んでいます。 JEDI というメインテーブルがあり、Inner JOIN 条件と Where 条件の使用に関する特定の情報を取得しようとしています。具体的には、特定の日付とそのレベルの間に特定の惑星を訪れた JEDI の数を取得したいと考えています。
次に、同じテーブルで Inner JOIN を使用してフィルタリングし、その特定の惑星に複数のパダワンを持つ JEDI の結果のみを表示したいと思います。 2番目の条件が私を混乱させていると思います。使用したコードとサンプルデータテーブルを貼り付けました
私の結果は 2 だけです。条件を満たすのはマスター オビ=ワンだけです。
リーリー
まず、列をグループ化し、
リーリーHAVING COUNT
を使用して重複する値をカウントする必要があります。注: この機能は、各
jedi_id
にjedi.padawan
という一意の値がある場合にのみ機能します。このクエリは次のシナリオに適しています。ただし、一意の
リーリーjedi.padawan
を計算する別の条件を追加して、各jedi.jedi_idjedi.padawan
が繰り返されるようにすることで、クエリを改善できます。 /code> は含まれませんこれを INNER JOIN jedi ON jedi.jedi_id WHERE COUNT(jedi.padawan)>=2
に置き換える必要があります。