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

Kueri Pilihan Bersarang MySQL?

Anda hanya perlu menulis kueri pertama sebagai subkueri (tabel turunan), di dalam tanda kurung, pilih alias untuknya (t bawah) dan alias kolom juga.

DISTINCT juga dapat dihapus dengan aman sebagai GROUP BY internal membuatnya mubazir:

SELECT DATE(`date`) AS `date` , COUNT(`player_name`) AS `player_count`
FROM (
    SELECT MIN(`date`) AS `date`, `player_name`
    FROM `player_playtime`
    GROUP BY `player_name`
) AS t
GROUP BY DATE( `date`) DESC LIMIT 60 ;

Sejak COUNT sekarang jelas bahwa hanya menghitung baris dari tabel turunan, Anda dapat menggantinya dengan COUNT(*) dan lebih menyederhanakan kueri:

SELECT t.date , COUNT(*) AS player_count
FROM (
    SELECT DATE(MIN(`date`)) AS date
    FROM player_playtime
    GROUP BY player_name
) AS t
GROUP BY t.date DESC LIMIT 60 ;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PDO::PARAM untuk kencan?

  2. Woocommerce mendapatkan id Produk menggunakan SKU produk

  3. Simpan Aksen di Database MySQL

  4. Jenis MySQL untuk Menyimpan Setahun:Smallint atau Varchar atau Tanggal?

  5. Bagaimana cara mengubah Collation Kolom tanpa kehilangan atau mengubah data?