Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara menampilkan jumlah total baris terakhir dengan status file?

Gunakan subkueri yang berkorelasi:

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)

Ganti ? dengan f_bankid yang Anda telusuri.
Lihat demo .

Di MySql 8.0+ Anda dapat menggunakan FIRST_VALUE() fungsi jendela:

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

Lihat demo .

Jika Anda menginginkan hasil untuk semua f_filestatus dalam 1 baris:

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

Lihat demo .
Hasil:

> 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. Driver MySQL ODBC 5.1 mengembalikan tipe data yang salah ke ADODB

  2. Tidak ada hasil kueri untuk model [App\Products] Laravel

  3. memilih angka berurutan menggunakan kueri SQL

  4. Menggunakan kunci utama yang tidak digunakan

  5. Bagaimana saya bisa terhubung ke database yang berbeda selama runtime aplikasi dengan Laravel?