Mysql
 sql >> база данни >  >> RDS >> Mysql

еквивалент на gene_series() в MySQL

Ето как го правя. Той създава диапазон от дати от 2011-01-01 до 31.12.2011 :

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

Единственото изискване е броят на редовете в всяка_таблица трябва да бъде по-голям или равен на размера на необходимия диапазон (>=365 реда в този пример). Най-вероятно ще използвате това като подзаявка на цялата си заявка, така че във вашия случай any_table може да бъде една от таблиците, които използвате в тази заявка.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да обърнете реда на символите в низ в MySQL

  2. Mysql има ли еквивалента на аналитичните функции на Oracle?

  3. Извикване на функция-член execute() на булев вход

  4. Как да използвате изгледи в MySQL база данни

  5. Как да отстраня грешките при превишаване на времето за изчакване на заключване на MySQL?