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