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

Bagaimana cara mengelompokkan jumlah baris per hari juga dalam hari tanpa baris di MySQL?

Untuk menangani tanggal dengan 0 catatan yang sesuai, praktik normal saya adalah menggunakan tabel kalender untuk bergabung.

Misalnya, buat tabel dengan satu bidang bernama calendar_date dan isi dengan setiap tanggal dari 1st Jan 2000 ke 31st Dec 2070 , atau rentang lain yang sesuai dengan tujuan pelaporan Anda.

Kemudian gunakan sesuatu seperti...

SELECT
  calendar.calendar_date,
  COUNT(*)
FROM
  calendar
LEFT JOIN
  yourData
    ON  yourData.timeStamp >= calendar.calendar_date
    AND yourData.timeStamp <  calendar.calendar_date + 1
WHERE
      calendar.calendar_date >= '01 Jan 2012'
  AND calendar.calendar_date <  '04 Jan 2012'
GROUP BY
  calendar.calendar_date

Tabel ini dapat memiliki banyak kegunaan tambahan, seperti menandai hari libur bank, awal minggu dan bulan. Dengan penggunaan flag dan indeks yang bijaksana, Anda bisa mendapatkan banyak manfaat darinya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana memilih baris yang berbeda tanpa menggunakan grup demi pernyataan

  2. Bagaimana cara mendapatkan nama kolom skema di sqlsoup dengan python?

  3. Membangun mesin pencari MySQL semantik cepat untuk artikel pribadi dari awal

  4. Bekerja Dengan MyISAM di MySQL

  5. Menggemakan kueri mysqli