sql >> Databáze >  >> RDS >> Mysql

při plánování na 1 rok načtěte 3 řádky každý den

Můžete použít dense_rank() a aritmetika pro umístění řádků do skupin po 3:

select b.*,
       ceiling(dense_rank() over (order by id) / 3)
from bibles b

Otázkou pak je, jak data získat. Na základě vašeho příkladu to může být:

select b.*,
       '2020-02-23' + interval ( ceiling(dense_rank() over (order by id) / 3) - 1) day
from bibles b;

Nicméně - 1 záleží na tom, jaký je první řádek ve výsledné sadě. Pokud chcete, aby to začínalo na 365, pak:

select b.*,
       '2020-02-23' + interval ( ceiling(dense_rank() over (order by id) / 3) - 1) day
from bibles b
where id >= 365;



  1. pravé spojení rovná se levé spojení?

  2. Získejte id vložky ve stejném příkazu

  3. Vložit dotaz s vnitřním spojením

  4. Porovnejte varchar s char