sql >> Databáze >  >> RDS >> Mysql

Jak zobrazit celkový počet posledního řádku podle stavu souboru?

Použijte korelovaný poddotaz:

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)

Nahradit ? pomocí f_bankid co hledáte.
Podívejte se na ukázku .

V MySql 8.0+ můžete použít FIRST_VALUE() funkce 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 = ?

Podívejte se na ukázku .

Pokud chcete výsledky pro všechny f_filestatus v 1 řádku:

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

Podívejte se na ukázku .
Výsledky:

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


  1. 9 nejčastějších chyb návrhu databáze

  2. Syntaxe MySQL pro vložení nového řádku do středních řádků?

  3. Vyberte informace z poslední položky a připojte se k celkové částce

  4. Chyba souboru připojení PHP v Postman