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

Làm thế nào để hiển thị tổng số của hàng cuối cùng theo filestatus?

Sử dụng một truy vấn con có liên quan:

SELECT COUNT(DISTINCT f_bankid) AS tcount
FROM tbl_fileStatus t
WHERE ? = (SELECT f_filestatus FROM tbl_fileStatus WHERE f_bankid = t.f_bankid ORDER BY f_id DESC LIMIT 1)

Thay thế ? với f_bankid bạn tìm kiếm.
Xem bản trình diễn .

Trong MySql 8.0+, bạn có thể sử dụng FIRST_VALUE() chức năng cửa sổ:

SELECT COUNT(*) AS tcount
FROM (
  SELECT DISTINCT f_bankid, 
         FIRST_VALUE(f_filestatus) OVER (PARTITION BY f_bankid ORDER BY f_id DESC) f_filestatus
  FROM tbl_fileStatus
) t
WHERE f_filestatus = ?

Xem bản trình diễn .

Nếu bạn muốn có kết quả cho tất cả f_filestatus trong 1 hàng:

SELECT
  SUM(f_filestatus = 1) AS tcount1,
  SUM(f_filestatus = 2) AS tcount2,
  SUM(f_filestatus = 3) AS tcount3
FROM (
  SELECT t.f_bankid, t.f_filestatus
  FROM tbl_fileStatus t
  WHERE t.f_id = (SELECT f_id FROM tbl_fileStatus WHERE f_bankid = t.f_bankid ORDER BY f_id DESC LIMIT 1)
) t

Xem bản trình diễn .
Kết quả:

> tcount1 | tcount2 | tcount3
> ------: | ------: | ------:
>       0 |       1 |       2


  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àm cách nào để có được danh sách các khung nhìn MySQL?

  2. NHÓM truy vấn MySQL THEO ngày / tháng / năm

  3. Sự cố mã hóa ký tự với PHP Trình phân tích cú pháp DOM HTML đơn giản

  4. Cảnh báo PHP:mysqli ::query ():Không thể tìm nạp mysqli

  5. Spring Boot JPA:Chuyển nhiều giá trị cho cùng một thông số (JPQL)