sql >> Database >  >> RDS >> Mysql

MySql die standaardwaarde selecteert als er geen resultaten zijn?

Ik weet niet zeker waarom je de comment_id in je SELECT-lijst opneemt als je alleen gebruikers en hun ranglijst wilt. Wil je alleen hun ranking op die specifieke opmerking? Ik zal voor nu een oplossing geven die ervan uitgaat dat je gewoon een volledige ledenlijst met ranglijsten wilt:

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

(hierbij wordt ervan uitgegaan dat vote_value en best GEEN NULL-kolommen zijn of dat MySQL deze negeert bij het berekenen van SUM-waarden - ik geloof van wel, maar dat heb ik niet getest)



  1. Gebruik SQL Server-tijdgegevenstype in C#.NET-toepassing?

  2. Hoe rond ik een DateTime af in MySQL?

  3. Jquery datepicker met Ajax werkt niet

  4. MySQL - Twee dingen tellen met verschillende voorwaarden