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

generate_series() setara di MySQL

Ini adalah bagaimana saya melakukannya. Ini membuat rentang tanggal dari 01-01-2011 hingga 31-12-31 :

select 
    date_format(
        adddate('2011-1-1', @num:[email protected]+1), 
        '%Y-%m-%d'
    ) date
from 
    any_table,    
    (select @num:=-1) num
limit 
    365

-- use limit 366 for leap years if you're putting this in production

Satu-satunya persyaratan adalah jumlah baris di any_table harus lebih besar atau sama dengan ukuran rentang yang dibutuhkan (>=365 baris dalam contoh ini). Kemungkinan besar Anda akan menggunakan ini sebagai subkueri dari seluruh kueri Anda, jadi dalam kasus Anda any_table bisa menjadi salah satu tabel yang Anda gunakan dalam kueri itu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Memilih Semuanya Sebelum/Setelah Karakter Tertentu di MySQL – SUBSTRING_INDEX()

  2. Kesalahan:pilih perintah ditolak untuk pengguna '<userid>'@'<ip-address>' untuk tabel '<table-name>'

  3. Serangga? #1146 - Tabel 'xxx.xxxxx' tidak ada

  4. Cara Mengelola MySQL - untuk Oracle DBA

  5. Cara Membuat Hubungan di MySQL Workbench