sql >> データベース >  >> RDS >> Mysql

1年間のスケジュールの場合、毎日3行をフェッチします

    dense_rank()を使用できます 3のグループに行を配置するための算術演算:

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

    問題は、日付を取得する方法です。あなたの例に基づくと、これは次のようになります。

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

    ただし、- 1 結果セットの最初の行が何であるかによって異なります。 365から開始する場合は、次のようにします。

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



    1. MariaDBからMySQLへの移行-違い

    2. 一部の入力をチェックボックスでラップし、データベースに送信します

    3. MAINmysqlデータベースをMyIsamからInnoDBに変換する方法

    4. 接続を閉じずにPythonで更新されたMySQLテーブルエントリを取得する