sql >> Database teknologi >  >> RDS >> Mysql

Kombination af SUM(), GROUP_BY() og LEFT_JOIN() giver forkerte resultater:hvordan rettes det?

GROUP BY grupperer resultaterne , ikke tabelrækkerne individuelt.

Baseret på din kommentar returnerer kun rækker i tidtabellen, der ikke er knyttet til et af disse tags :

SELECT 
    date_format(from_unixtime(date), '%Y-%m-%d') as myDate,
    ROUND(SUM(time) / 60,1) as hours
FROM `time` h
  LEFT JOIN (
    SELECT DISTINCT te.entity_id
    FROM tag_entity te
      LEFT JOIN tags t on t.tag_id = te.tag_id
    WHERE te.entity_id IS NOT NULL AND t.tag_name IN ('foo', 'bar', 'baz')
  ) g ON h.entity_id = g.entity_id
WHERE g.entity_id IS NULL
group by
    myDate

order by
    hours DESC, myDate ASC


  1. Hvordan tilføjer man offset i en udvalgt forespørgsel i Oracle 11g?

  2. Sådan opbevarer du php-variabler fra forrige side efter indsendelse af formular

  3. Kan vi ikke bruge [specifier] med lignende operator med Oracle?

  4. Brug af boolesk udtryk i rækkefølge efter klausul