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

Nhóm theo Tổng số (5 hàng đầu) &Số lượng (Tất cả các nhóm khác)

Trong MySQL, có lẽ cách dễ nhất để diễn đạt điều này là sử dụng một bảng tạm thời:

create temporary table temp as (
    id int not null auto_increment,
    CaseLabel varchar(255),
    CasesResolved int
);

insert into temp(CaseLabel, CasesResolved)
    SELECT deskcases.Labels, COUNT(deskcases.Labels)AS CaseCount
    FROM deskcases
    WHERE deskcases.Labels NOT LIKE ''
          AND deskcases.Labels NOT LIKE '%SPAM%'
          AND deskcases.Labels NOT LIKE '%Online Orders%'
          AND deskcases.Labels NOT LIKE '%Internal SPAM%'
          AND deskcases.`Case Status` LIKE 'Resolved'
          AND deskcases.`Resolved At` > CURDATE()- INTERVAL 7 DAY
    GROUP BY deskcases.Labels
    ORDER BY CaseCount DESC;

select (case when id <= 5 then caselabel else 'Other' end),
       SUM(casesResolved) as CasesResolved
from temp
group by (case when id <= 5 then caselabel else 'Other' end)
order by MAX(id) desc

id cột trong bảng tạm thời thêm một số hàng vào mỗi hàng. Trong bất kỳ cơ sở dữ liệu thực nào khác, bạn sẽ sử dụng row_number() nhưng MySQL không hỗ trợ điều đó.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. câu lệnh sắp xếp và xếp hạng mysql

  2. Cách truy xuất số nút dựa trên nút cha động từ tệp xsd bằng PHP

  3. Các trường boolean trong MySQL Django Models?

  4. Ví dụ về Spring Boot CRUD với MySQL

  5. Kết nối mã nguồn PHP và gửi biểu mẫu đến Cơ sở dữ liệu MySQL