Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Kết hợp SUM (), GROUP_BY () và LEFT_JOIN () trả về kết quả không chính xác:làm thế nào để khắc phục?

GROUP BY nhóm kết quả , không phải các hàng trong bảng riêng lẻ.

Dựa trên nhận xét của bạn chỉ trả về các hàng trong bảng thời gian không được liên kết với một trong các thẻ đó :

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. NameError:name '_mysql' không được xác định sau khi thiết lập thay đổi thành mysql

  2. Tại sao tôi nhận được kết quả khác khi sử dụng kết nối bên trong

  3. Bản ghi ngẫu nhiên từ cơ sở dữ liệu mysql với CodeIgniter

  4. Có bất kỳ lợi ích thực sự nào khi sử dụng RDBMS so với tệp phẳng trên hệ thống tài liệu Web đơn giản (hoặc CMS cơ bản) không?

  5. Tìm nạp PHP PDO null