Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Filter siswa yang belum lulus mata pelajaran

Saya akan menyarankan menggunakan agregasi:

SELECT `Reg.No`, SubjectCode, SUM(`Pass/Fail` = 'Pass')
FROM results
GROUP  BY `Reg.No`, SubjectCode
HAVING SUM(`Pass/Fail` = 'Pass') = 0;

HAVING klausa menghitung jumlah hasil untuk setiap siswa dan kursus di mana kolom terakhir adalah 'Pass' . Di MySQL, boolean diperlakukan sebagai bilangan bulat dalam konteks numerik, dengan true menjadi 1. Jadi, sum( Lulus/Gagal= 'Pass') menghitung berapa kali seorang siswa lulus mata kuliah tersebut. = 0 mengatakan bahwa siswa tersebut tidak pernah lulus.

Sebagai saran, jangan masukkan karakter khusus seperti / dan . dalam nama kolom. Itu membutuhkan keluar dari kolom dan hanya membuat kode lebih sulit untuk ditulis karena diisi dengan backticks.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. LOAD DATA INFILE:String karakter ut8mb4 tidak valid

  2. Menghubungkan tabel ketiga ke tabel jembatan dalam asosiasi banyak ke banyak

  3. Kesalahan RODBC - Koneksi ODBC gagal - tidak dapat terhubung ke MySQL dengan mac saya (mavericks)

  4. Eksekusi prosedur tersimpan yang disinkronkan di mysql

  5. Kueri MySQL Nilai Minimum