Rumah > Soal Jawab > teks badan
Saya ada 2 meja dan ini biola saya http://sqlfiddle.com/#!9/da5e4e/3
Jadi secara asasnya saya ada 2 jadual yang dipanggil personal dan interview_score di mana personal.id = Interview_score.personal_id.
Andaikan ini personal
meja saya
id name 1 John Doe 2 Nian 3 Rijali
Ini adalah interview_score
jam tangan
id personal_id aspect_id 1 1 1 2 1 2 3 1 3 4 2 1 5 2 2
Dalam kes ini saya hanya mahu menggunakan pertanyaan ini untuk mengira berapa banyak id_peribadi dalam interview_score
jadual saya
SELECT COUNT(i.id) as interviewed FROM personal p LEFT JOIN interview_score i ON i.personal_id = p.id GROUP BY i.personal_id;
Tetapi ia kembali seperti ini
interviewed 0 3 2
Sementara itu, hasil jangkaan saya adalah ini
interviewed 2
Sebab terdapat 2 personal_id berdasarkan syarat ini di atas meja ini.
Di mana silap saya?
P粉7594512552024-04-05 13:08:43
Anda boleh menggunakan join bukannya left join dan juga perlu group by p.id
SELECT COUNT(i.id) as interviewed FROM personal p JOIN interview_score i ON i.personal_id = p.id GROUP BY p.id;
Daripada pertanyaan di atas anda boleh mendapatkan kiraan
Dapatkan kiraan orang tertentu
SELECT COUNT(i.id) as interviewed FROM personal p JOIN interview_score i ON i.personal_id = p.id and p.id=1 GROUP BY p.id;