Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak wyświetlić całkowitą liczbę ostatniego wiersza według stanu plików?

Użyj skorelowanego podzapytania:

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)

Zastąpić ? z f_bankid szukasz.
Zobacz demo .

W MySql 8.0+ możesz użyć FIRST_VALUE() funkcja okna:

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 = ?

Zobacz demo .

Jeśli chcesz uzyskać wyniki dla wszystkich f_filestatus w 1 rzędzie:

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

Zobacz demo .
Wyniki:

> 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. Ogranicz liczbę wierszy na identyfikator w zapytaniu SQL

  2. Jak uzyskać zliczone wartości z separatorem przecinków jako wartość pojedynczego wiersza?

  3. mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows itd... oczekuje, że parametr 1 będzie zasobem

  4. python odo sql AssertionError:datashape musi być typem rekordu, otrzymał 0 * {...}

  5. Jak uruchomić serwer MySQL z wiersza poleceń w systemie Mac OS Lion?