sql >> Databáze >  >> RDS >> Mysql

MySql vybírá výchozí hodnotu, pokud nejsou žádné výsledky?

Nejsem si jistý, proč do seznamu SELECT zařazujete id_komentáře, pokud chcete pouze uživatele a jejich hodnocení. Chcete pouze jejich hodnocení u tohoto konkrétního komentáře? Prozatím vám dám řešení, které předpokládá, že chcete úplný seznam členů s hodnocením:

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

(předpokládá se, že sloupce vote_value a best NEJSOU NULL nebo že je MySQL bude při výpočtu hodnot SUM ignorovat – věřím, že ano, ale netestoval jsem to)



  1. Jak vynutit jedinečné omezení v MySQL?

  2. Co jsou zámky řádků, stránek a tabulek? A kdy jsou pořízeny?

  3. Automatizace barmana s loutkou:it2ndq/barman (část druhá)

  4. ODBC 4.0