Terima kasih kerana membantu saya, saya masih belajar SQL. Saya mempunyai jadual utama yang dipanggil JEDI dan saya cuba mendapatkan maklumat khusus tentang menggunakan syarat Inner JOIN dan Where. Secara khusus, saya ingin mendapatkan bilangan JEDI yang melawat planet tertentu antara tarikh tertentu dan tahap mereka.
Saya kemudiannya ingin menapis menggunakan Inner JOIN pada jadual yang sama dan hanya menunjukkan kepada saya keputusan untuk JEDI yang mempunyai lebih daripada 1 padawan di planet tersebut. Saya rasa syarat kedua membuat saya pergi. Saya telah menampal kod yang saya gunakan dan jadual data sampel
Hasil saya sepatutnya hanya 2, Master Obi-Wan adalah satu-satunya yang memenuhi kriteria
SELECT COUNT(jedi.jedi_id),jedi.rank_id FROM jedi WHERE jedi.date >='2022-01-01' AND jedi.date <='2022-06-31' AND jedi.planet='Tatoine' INNER JOIN jedi ON jedi.jedi_id WHERE COUNT(jedi.padawan)>=2 GROUP BY jedi.rank_id
Mula-mula, anda perlu mengumpulkan lajur dan menggunakan
HAVING COUNT
untuk mengira nilai pendua.Nota: Ciri ini hanya berfungsi untuk setiap
jedi_id
具有唯一值jedi.padawan
. Pertanyaan ini sesuai untuk senario ini.Walau bagaimanapun, anda boleh mengira
jedi.padawan
的条件来改进查询,以便每个jedi.jedi_idjedi.padawan
nilai/kod> unik dengan menambah satu lagi yang tidak akan disertakanAnda boleh menggantikan ini dengan mesti DALAM JOIN jedi DI jedi.jedi_id WHERE COUNT(jedi.padawan)>=2