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

Tổng số truy vấn trong hàng cuối cùng

Trước hết, bạn không cần các truy vấn phụ, thay vào đó, bạn có thể đếm theo một điều kiện.

with rollup công cụ sửa đổi có thể được thêm vào nhóm group by mệnh đề bao gồm tổng tổng. order by sau đó không thể được sử dụng trong cùng một truy vấn, nhưng có thể được áp dụng trong một truy vấn bên ngoài.

Hơn nữa, với việc sử dụng coalesce bạn có thể thay thế null giá trị cho tổng hàng đó với nhãn bạn chọn.

Cuối cùng, để vẫn sắp xếp tổng số hàng ở cuối, bạn có thể thêm một is null biểu thức theo thứ tự order by mệnh đề này sẽ đánh giá thành false hoặc true . Cái sau được đặt hàng sau cùng.

select coalesce(checkby, 'Total') as checkby_or_total,
       fully,
       faulty,
       lasthour, 
       total 
from   (
        select   qcheck.checkby,
                 count(case result when 'fully tested & working' then 1 end)     as fully,
                 count(case result when 'faulty' then 1 end)                     as faulty,
                 count(case when finishdate >= now()-interval 1 hour then 1 end) as lasthour,
                 count(*) as total 
        from     qcheck
        where    date(finishdate) = CURDATE() 
        and      qcheck.checkby not like 'michael' 
        and      qcheck.checkby not like 'chaz'
        group by qcheck.checkby with rollup
        ) as main
order by    checkby is null, 
            total desc 



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lập mô hình UUID trong thực thể Hibernate chống lại MySQL

  2. CHÈN và CHỌN trong MySQL truy vấn duy nhất

  3. Sự khác biệt giữa LIKE và =trong MYSQL?

  4. Công cụ tìm từ rắc rối:xây dựng một trie, lưu trữ một trie, sử dụng một trie?

  5. Cách chọn từ tên bảng động