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

MySql memilih nilai default jika tidak ada hasil?

Saya tidak yakin mengapa Anda memasukkan comment_id dalam daftar SELECT Anda jika Anda hanya ingin pengguna dan peringkatnya. Apakah Anda hanya ingin peringkat mereka pada komentar tertentu? Saya akan memberikan solusi untuk saat ini yang mengasumsikan Anda hanya ingin daftar anggota lengkap dengan peringkat:

SELECT
    M.member_id,
    M.user_id,
    M.avatar,
    COALESCE(SUM(C.vote_value), 0) AS vote_value_sum,
    COALESCE(SUM(C.best), 0) AS best_sum,
    COALESCE(SUM(C.vote_value), 0) + SUM(C.best) * 10 AS total_value
FROM
    Members M
LEFT OUTER JOIN Comments C ON
    C.author_id = M.member_id
GROUP BY
    M.member_id
ORDER BY
    total_value DESC
LIMIT 0, 20

(ini mengasumsikan bahwa vote_value dan best BUKAN kolom NULL atau bahwa MySQL akan mengabaikannya saat menghitung nilai SUM - saya yakin demikian, tetapi saya belum mengujinya)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Impor batas ukuran file di PHPMyAdmin

  2. Tidak dapat memilih di mana ip=inet_pton($ip)

  3. Lancar NHibernate DuplicateMappingException dengan AutoMapping

  4. Saya tidak bisa mendapatkan formulir login saya untuk terhubung berinteraksi dengan benar dengan database mySQL

  5. Akses mysql yang berjalan di localhost dari minikube