Mysql
 sql >> Baza danych >  >> RDS >> Mysql

pobieraj 3 wiersze każdego dnia, jeśli planujesz na 1 rok

Możesz użyć dense_rank() i arytmetyki, aby umieścić wiersze w grupach po 3:

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

Pytanie brzmi zatem, jak uzyskać daty. Na podstawie Twojego przykładu może to być:

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

Jednak - 1 zależy od tego, jaki jest pierwszy wiersz w zestawie wyników. Jeśli chcesz, aby zaczynało się od 365, to:

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak włączyć rozszerzenia mysql php w kontenerze docker?

  2. Mysql:usuń wiersze w dwóch tabelach z kluczami obcymi

  3. Wstawianie NOW() do bazy danych z aktywnym rekordem CodeIgniter

  4. Łączysz się z wieloma instancjami CloudSQL za pomocą serwera proxy Cloud sql?

  5. Hasło sklepu jest w porządku w zmiennej sesji php?