Agent Grow Tech Notes
📈

MySQLにいつの間にか実装されていたRANK関数がすごい便利だったのでみんなに知ってほしい

2024/12/11に公開

この記事は Agent Grow Advent Calendar 2024 11日目の記事です。

この記事を書いた背景

先日業務で「いろんな切り口でランキングを作ってほしい」という依頼がありました。

最初は愚直にランキングの切り口ごとにSQL用意しようと思っていたのですが、ちょっと調べたところMySQL(MariaDB)に RANK関数 という素敵な関数が実装されていることがわかってものすごく楽ができました。

このRANK関数が想像以上に便利だったので、その使い方と便利さをお伝えするために筆(キーボード?)をとりました。

要約

  • RANK関数は対象カラムでGROUP BYした場合のランキングを作ってくれる素敵なナイスガイ
  • 都道府県ごとの売上や商品ごとの売上個数など、1本のSQLでランキングを作ってくれるのでみんなも楽をしよう!
  • 便利じゃん!と思ったら他のウィンドウ関数も使ってみてください!

対象者

  • MySQL(MariaDB)でデータを集計したり調査することがある方
  • 他のDBを使ってデータを集計したり調査することがある方

売上情報をいろんな角度からランキングしたいよ!

データをため込んでいくと、いろんな切り口でランキングを作りたくなることってよくありますよね?

例えばこんなテーブル構成をとっている小売店の売上情報を想定します。

テーブル名
DROP TABLE IF EXISTS area;
CREATE TABLE area
(
    area_id   int unsigned auto_increment comment '固有ID(PK)' primary key,
    area_name varchar(255) not null comment 'エリア名'
) comment '販売エリア' charset = utf8mb4;

DROP TABLE IF EXISTS stores;
CREATE TABLE stores
(
    store_id   int unsigned auto_increment comment '固有ID(PK)' primary key,
    store_name varchar(255) not null comment '店舗名',
    area_id    int unsigned not null comment 'エリアID'
) comment '店舗' charset = utf8mb4;

DROP TABLE IF EXISTS product_master;
CREATE TABLE product_master
(
    product_id   int unsigned auto_increment comment '固有ID(PK)' primary key,
    product_name varchar(255) not null comment '製品名',
    price        float        not null comment '基本販売価格'
) comment '製品マスタ' charset = utf8mb4;

DROP TABLE IF EXISTS sales;
CREATE TABLE sales
(
    sales_id    int unsigned auto_increment comment '固有ID(PK)' primary key,
    product_id  int unsigned not null comment '製品ID',
    store_id    int unsigned not null comment '店舗ID',
    date        date         not null comment '売上日',
    sales_price float        not null comment '実際の売上金額',
    sales_count int          not null comment '売上個数',
    unique(date, store_id, product_id)
) comment '売上情報' charset = utf8mb4;

ER図的な感じで表現したリレーションはこんな感じになります。
ふんわりER図

店舗と製品ごとに、日ごとの売上情報を管理しているようなイメージになります。

いやぁいろいろな切り口で集計したくなるテーブル構成になってますね!
まだSQLを作っていませんがワクワクします!

RANK関数を使わない愚直な集計SQL

まずはスタンダードなSQLで集計してみましょう!

切り口は

  • 全店舗の売上ランキング
  • 各店舗の売上上位5日分
  • エリアごとの曜日ごと売上ランキング

あたりにしてみましょう!

全店舗の売上ランキング

まずは全店舗の売上ランキングです。
書き方はいろいろありますが、なるべくシンプルにしてこんな感じでしょうか。

全店舗の売上ランキング
SELECT
    stores.store_name as 店舗名,
    sum_sales
FROM(
    SELECT
        store_id,
        SUM(sales_price * sales_count) as sum_sales  # 単価 × 売上個数 で売り上げを計算
    FROM sales
    WHERE
        date BETWEEN DATE('2024-10-01') AND DATE('2024-10-31')
    GROUP BY
        store_id
) sum_info
INNER JOIN stores
ON sum_info.store_id = stores.store_id
ORDER BY
    sum_sales DESC
;

結果は以下のようになります。

店舗名 sum_sales
調布店 19,858,783
苫小牧店 19,342,838
札幌本店 18,840,560
三鷹店 18,363,809
郡山店 18,323,624
新潟店 18,076,242
仙台店 17,890,658

これはまあRANK関数を使うまでもなくさくっと実現出来ましたね。

ランキングなどを考慮しなくてもよい集計情報を取得すればいいときには、GROUP BYがあれば特に問題ないですね。

各店舗の売上上位5日ランキング

さて、急にめんどくさく難しくなりましたね。
各店舗ごとに売上上位5日分となると、素直に書いたSQLでは1回のSQL実行では取得することができません。
※ 処理速度を度外視すればやりようはありますが、データ量によってはかなり負荷が高くなってしまうためあまり私の好みではありません・・・。

私が業務でやることになったら、しょうがないので↓のようなSQLを用意して :store_id を変更しつつ愚直に店舗数分実行していくと思います。

店舗ごとの売上上位5日のランキングを取得するSQL
SELECT
    stores.store_name as 店舗名,
    date,
    sum_sales
FROM(
    SELECT
        store_id,
        date,
        SUM(sales_price * sales_count) as sum_sales  # 単価 × 売上個数 で売り上げを計算
    FROM sales
    WHERE
        store_id = :store_id  # ここを各店舗ごとに設定する
        AND date BETWEEN DATE('2024-10-01') AND DATE('2024-10-31')
    GROUP BY
        store_id,
        date
) sum_info
INNER JOIN stores
ON sum_info.store_id = stores.store_id
ORDER BY
    sum_sales DESC
LIMIT 5
;

結果は以下のようになるので、店舗ごとにスプレッドシートか何かにペタペタコピペして貼り付けて集計するイメージになります。

店舗名 date sum_sales
札幌本店 2024-10-17 907,777
札幌本店 2024-10-20 895,885
札幌本店 2024-10-04 893,282
札幌本店 2024-10-29 857,918
札幌本店 2024-10-18 844,567

ただこれ、途中で計算式にミスが見つかったりすると、全部やり直しになるのできついんですよね[1]

エリアごとの曜日ごと売上ランキング

分析したくなる気持ちはわかりますが、ここまでくるとだいぶやめてくれずいぶん細かい分析だなっていう感じが強くなってきますね。

これについても集計したサブクエリを自己結合したりすればSQL1本で何とかできますが、
なるべくサーバ負荷をかけないようにしようと思ったらこういうSQLを用意すると思います。

エリアごとに売上がよかった曜日を抽出するSQL
SELECT
    area.area_name as エリア名,
    CASE sum_info.weekday
        WHEN 0 THEN '月曜日'
        WHEN 1 THEN '火曜日'
        WHEN 2 THEN '水曜日'
        WHEN 3 THEN '木曜日'
        WHEN 4 THEN '金曜日'
        WHEN 5 THEN '土曜日'
        ELSE '日曜日'
    END as 曜日,
    sum_info.sum_sales
FROM (
    SELECT
        stores.area_id,
        WEEKDAY(sales.date) as weekday,
        SUM(sales.sales_price * sales.sales_count) as sum_sales  # 単価 × 売上個数 で売り上げを計算
    FROM sales
    INNER JOIN stores
    ON sales.store_id = stores.store_id
    WHERE
        stores.area_id = :area_id  # ここを各エリアごとに設定する
      AND date BETWEEN DATE('2024-10-01') AND DATE('2024-10-31')
    GROUP BY
        stores.area_id,
        WEEKDAY(sales.date)
) sum_info
INNER JOIN area
  ON sum_info.area_id = area.area_id
ORDER BY
    sum_sales DESC
;

結果は以下のようになりますが、やはりエリアごとに実行する必要があるのはきついですね。。。

エリア名 曜日 sum_sales
北海道 水曜日 6,521,231
北海道 木曜日 6,216,191
北海道 火曜日 5,691,929
北海道 月曜日 5,248,847
北海道 日曜日 4,986,331
北海道 金曜日 4,859,329
北海道 土曜日 4,659,540

実際にデータを出してみると、「こういう情報追加できない?」と依頼されたり「こういうデータを見るのであれば他にもこの情報があった方がいいかも!」みたいな話が出てきて、
かなり高確率で何回かデータを取り直すことになることがまれによくあります。

なので、実務的には1回のSQLで取得できるのであればその方がかなりうれしいんですよね。

RANK関数を使った楽な集計SQL

ということでようやくRANK関数の出番です。

さっそく各ランキング取得SQLをRANK関数を使って書き直してみましょう。

全店舗の売上ランキング

これはランク関数を使わなくても実現できましたが、ランク関数を使うとどうなるか見てみましょう。

無理やりランクを付けた版
SELECT
    RANK() over (ORDER BY sum_sales DESC) as ranking,
    stores.store_name as 店舗名,
    sum_sales
FROM(
    SELECT
        store_id,
        SUM(sales_price * sales_count) as sum_sales
    FROM sales
    WHERE
        date BETWEEN DATE('2024-10-01') AND DATE('2024-10-31')
    GROUP BY
        store_id
) sum_info
INNER JOIN stores
ON sum_info.store_id = stores.store_id
ORDER BY
    ranking
;

結果はこうなります

ranking 店舗名 sum_sales
1 調布店 19,858,783
2 苫小牧店 19,342,838
3 札幌本店 18,840,560
4 三鷹店 18,363,809
5 郡山店 18,323,624
6 新潟店 18,076,242
7 仙台店 17,890,658

各店舗に明確な順位を付けたくらいで、あまり感動がないですね。

各店舗の売上上位5日分

これはRANK関数の恩恵がかなり大きいです。

先ほどの例だと店舗ごとに実行するしかない悲しいSQLとなってしまいましたが、RANK関数を使うとこうなります。

各店舗ごとの売上上位5日を取得
SELECT
    stores.store_name as 店舗名,
    ranking,
    date,
    sum_sales
FROM(
    SELECT
        RANK() over (partition by store_id ORDER BY SUM(sales_price * sales_count) DESC) as ranking,
        store_id,
        date,
        SUM(sales_price * sales_count) as sum_sales
    FROM sales
    WHERE
        date BETWEEN DATE('2024-10-01') AND DATE('2024-10-31')
    GROUP BY
        store_id,
        date
    ) sum_info
INNER JOIN stores
ON sum_info.store_id = stores.store_id
WHERE
    # 上位5位分だけを抽出する
    sum_info.ranking <= 5
ORDER BY
    sum_info.store_id,
    ranking
;

元のSQLとあまり変化はないように見えますが、実行結果は以下のようになります。

店舗名 ranking date sum_sales
札幌本店 1 2024-10-17 907777
札幌本店 2 2024-10-20 895885
札幌本店 3 2024-10-04 893282
札幌本店 4 2024-10-29 857918
札幌本店 5 2024-10-18 844567
苫小牧店 1 2024-10-19 952464
苫小牧店 2 2024-10-07 850627
苫小牧店 3 2024-10-10 833707
苫小牧店 4 2024-10-21 827242
苫小牧店 5 2024-10-09 817746
仙台店 1 2024-10-14 849697
仙台店 2 2024-10-30 811655
仙台店 3 2024-10-15 802728
仙台店 4 2024-10-11 782508
仙台店 5 2024-10-28 770016
郡山店 1 2024-10-23 855443
郡山店 2 2024-10-31 848430
郡山店 3 2024-10-03 771642
郡山店 4 2024-10-02 756814
郡山店 5 2024-10-19 743740
新潟店 1 2024-10-11 880953
新潟店 2 2024-10-28 877651
新潟店 3 2024-10-08 807551
新潟店 4 2024-10-30 726734
新潟店 5 2024-10-02 708009
調布店 1 2024-10-12 930727
調布店 2 2024-10-27 905643
調布店 3 2024-10-07 865408
調布店 4 2024-10-19 809106
調布店 5 2024-10-31 778722
三鷹店 1 2024-10-01 813327
三鷹店 2 2024-10-15 785530
三鷹店 3 2024-10-11 754011
三鷹店 4 2024-10-07 742302
三鷹店 5 2024-10-04 720367

まさにほしい情報を取得できましたね!
こういうのをさくっとやりたかった!

エリアごとの曜日ごと売上ランキング

「もういいよ!おなか一杯!」っていう声も聞こえてきそうですが、せっかくなのでこれもRANK関数を使って書き直してみましょう。

RANK関数を使って書き直したエリアごとの曜日ごと売上ランキング
SELECT
    area.area_name as エリア名,
    ranking,
    CASE sum_info.weekday
        WHEN 0 THEN '月曜日'
        WHEN 1 THEN '火曜日'
        WHEN 2 THEN '水曜日'
        WHEN 3 THEN '木曜日'
        WHEN 4 THEN '金曜日'
        WHEN 5 THEN '土曜日'
        ELSE '日曜日'
    END as 曜日,
    sum_info.sum_sales
FROM (
     SELECT
         RANK() over (partition by stores.area_id  ORDER BY SUM(sales.sales_price * sales.sales_count) DESC) as ranking,
         stores.area_id,
         WEEKDAY(sales.date) as weekday,
         SUM(sales.sales_price * sales.sales_count) as sum_sales
     FROM sales
     INNER JOIN stores
     ON sales.store_id = stores.store_id
     WHERE
         date BETWEEN DATE('2024-10-01') AND DATE('2024-10-31')
     GROUP BY
         stores.area_id,
         WEEKDAY(sales.date)
     ) sum_info
INNER JOIN area
ON sum_info.area_id = area.area_id
ORDER BY
    sum_info.area_id,
    sum_info.ranking
;

こちらもあまり変化がないように見えますが、実行結果は以下のようになります。

エリア名 ranking 曜日 sum_sales
北海道 1 水曜日 6521231
北海道 2 木曜日 6216191
北海道 3 火曜日 5691929
北海道 4 月曜日 5248847
北海道 5 日曜日 4986331
北海道 6 金曜日 4859329
北海道 7 土曜日 4659540
東北 1 木曜日 6259524
東北 2 水曜日 5782665
東北 3 火曜日 5620304
東北 4 金曜日 5101461
東北 5 月曜日 4522905
東北 6 土曜日 4503049
東北 7 日曜日 4424374
北陸 1 火曜日 3044017
北陸 2 水曜日 2807765
北陸 3 木曜日 2642655
北陸 4 金曜日 2573461
北陸 5 土曜日 2403468
北陸 6 月曜日 2369924
北陸 7 日曜日 2234952
関東 1 火曜日 6272412
関東 2 木曜日 6176954
関東 3 水曜日 5673267
関東 4 金曜日 5292913
関東 5 月曜日 5089707
関東 6 土曜日 4977744
関東 7 日曜日 4739595

なんかそれっぽい集計結果になってそうですね!

結局RANK関数ってどうやって何がすごいの?

なんか楽になってそうなことは分かったけど、詳細の説明が全然ないのでよくわからないよ!

という読者のみなさまの声が聞こえてきましたので、ここからはRANK関数ちゃんと解説していこうと思います。

いちおう最初のほうで一言でまとめておくと、

ある尺度でランキングをとったときの順位をサブクエリなしで取得できる

というのがすごいんです!

RANK関数の使い方

各店舗ごと上位5日を取得 のSQLを例にとると、以下のような使い方をしています。

RANK関数利用部分のサブクエリ
SELECT
    RANK() over (partition by store_id ORDER BY SUM(sales_price * sales_count) DESC) as ranking,  # ここが今回の本編
    store_id,
    date,
    SUM(sales_price * sales_count) as sum_sales
FROM sales
WHERE
    date BETWEEN DATE('2024-10-01') AND DATE('2024-10-31')
GROUP BY
    store_id,
    date

このRANK関数呼び出し箇所である「RANK() over (partition by store_id ORDER BY SUM(sales_price * sales_count) DESC)」では、

store_id 毎に SUM(sales_price * sales_count) を降順で並べた時の順位

を取得しています。
つまり 店舗ごとに売上が高い日の順に並べた時の順位 を取得しています。

実際に実行してみていただくと、rankingのところに順位となる整数値が設定されることがご確認いただけると思います。

RANK() over (partition by ランキングの軸にする項目 ORDER BY 順位をつける条件)

っていう公式みたいな感じで覚えておくと、実際に使うときに戸惑わなくなるかもしれません。

この関数を使わない場合、このような順位をつけようと思ったら同じ集計結果を算出するサブクエリを複数個自己結合する必要があります。
※ 具体的にどうなるかは 各店舗の売上上位5日ランキング のアコーディオンにあるSQLをご参照ください

保守性の観点で見ても実行速度の観点でいってもサブクエリの自己結合はあまりよろしくないので、
このRANK関数を使うだけでやらなくてもよくなるのはとてもうれしいですね!

まとめ

SQLだけで何とかランキングを作ろうとすると、どうしても同じ形のサブクエリをいくつか重複して書かなければなりません。

しかし、もう人類はそんなしんどいSQLから解放されました!

コピペした自己結合サブクエリからの解放。
それがRANK関数の一番素敵なところなのだと私は思います。

もしこのRANK関数超いいじゃん!と感じる方がいらっしゃったら、MySQL公式のウィンドウ関数リファレンスを参照して、是非RANK関数の親戚にあたる他の関数たちにも使ってみてくださいね!

https://dev.mysql.com/doc/refman/8.0/ja/window-function-descriptions.html#function_rank


データを追加するためのSQL

リアルさを追求した結果、データ量が多くなってしまったのでこちらに隔離しています。

お手元で試してみるときにご利用ください。

データはこちら(1,000行程度あるのでご注意を!)
集計もとになるデータたち
# 販売エリア情報
INSERT INTO area (area_id, area_name)
VALUES
(1, '北海道'),
(2, '東北'),
(3, '北陸'),
(4, '関東')
;

# 店舗情報
INSERT INTO stores (store_id, store_name, area_id)
VALUES
(1, '札幌本店', 1),
(2, '苫小牧店', 1),
(3, '仙台店', 2),
(4, '郡山店', 2),
(5, '新潟店', 3),
(6, '調布店', 4),
(7, '三鷹店', 4);

# 製品情報
INSERT INTO product_master (product_id, product_name, price)
VALUES
(1, '製品A', 150),
(2, '製品B', 210),
(3, '製品C', 300),
(4, '製品D', 450);

# 2024年10月の売上情報(900件近くあるので要注意)
INSERT INTO sales (sales_id, product_id, store_id, date, sales_price, sales_count)
VALUES
(1, 1, 1, '2024-10-01', 133, 611),
(2, 1, 2, '2024-10-01', 130, 454),
(3, 1, 3, '2024-10-01', 157, 912),
(4, 1, 4, '2024-10-01', 144, 807),
(5, 1, 5, '2024-10-01', 152, 724),
(6, 1, 6, '2024-10-01', 156, 897),
(7, 1, 7, '2024-10-01', 141, 948),
(8, 1, 1, '2024-10-02', 135, 995),
(9, 1, 2, '2024-10-02', 158, 905),
(10, 1, 3, '2024-10-02', 147, 918),
(11, 1, 4, '2024-10-02', 152, 508),
(12, 1, 5, '2024-10-02', 133, 670),
(13, 1, 6, '2024-10-02', 142, 861),
(14, 1, 7, '2024-10-02', 152, 410),
(15, 1, 1, '2024-10-03', 153, 474),
(16, 1, 2, '2024-10-03', 153, 766),
(17, 1, 3, '2024-10-03', 156, 981),
(18, 1, 4, '2024-10-03', 149, 814),
(19, 1, 5, '2024-10-03', 155, 624),
(20, 1, 6, '2024-10-03', 142, 957),
(21, 1, 7, '2024-10-03', 147, 908),
(22, 1, 1, '2024-10-04', 130, 784),
(23, 1, 2, '2024-10-04', 159, 992),
(24, 1, 3, '2024-10-04', 149, 732),
(25, 1, 4, '2024-10-04', 152, 608),
(26, 1, 5, '2024-10-04', 131, 888),
(27, 1, 6, '2024-10-04', 133, 816),
(28, 1, 7, '2024-10-04', 144, 679),
(29, 1, 1, '2024-10-05', 131, 841),
(30, 1, 2, '2024-10-05', 144, 708),
(31, 1, 3, '2024-10-05', 139, 614),
(32, 1, 4, '2024-10-05', 147, 599),
(33, 1, 5, '2024-10-05', 131, 690),
(34, 1, 6, '2024-10-05', 143, 713),
(35, 1, 7, '2024-10-05', 135, 484),
(36, 1, 1, '2024-10-06', 140, 834),
(37, 1, 2, '2024-10-06', 148, 614),
(38, 1, 3, '2024-10-06', 142, 667),
(39, 1, 4, '2024-10-06', 146, 532),
(40, 1, 5, '2024-10-06', 130, 617),
(41, 1, 6, '2024-10-06', 137, 476),
(42, 1, 7, '2024-10-06', 131, 535),
(43, 1, 1, '2024-10-07', 131, 554),
(44, 1, 2, '2024-10-07', 155, 590),
(45, 1, 3, '2024-10-07', 156, 615),
(46, 1, 4, '2024-10-07', 130, 419),
(47, 1, 5, '2024-10-07', 134, 475),
(48, 1, 6, '2024-10-07', 158, 655),
(49, 1, 7, '2024-10-07', 138, 507),
(50, 1, 1, '2024-10-08', 137, 769),
(51, 1, 2, '2024-10-08', 150, 739),
(52, 1, 3, '2024-10-08', 143, 501),
(53, 1, 4, '2024-10-08', 155, 581),
(54, 1, 5, '2024-10-08', 145, 579),
(55, 1, 6, '2024-10-08', 130, 688),
(56, 1, 7, '2024-10-08', 140, 923),
(57, 1, 1, '2024-10-09', 155, 620),
(58, 1, 2, '2024-10-09', 160, 779),
(59, 1, 3, '2024-10-09', 139, 669),
(60, 1, 4, '2024-10-09', 133, 413),
(61, 1, 5, '2024-10-09', 134, 489),
(62, 1, 6, '2024-10-09', 159, 565),
(63, 1, 7, '2024-10-09', 155, 770),
(64, 1, 1, '2024-10-10', 146, 461),
(65, 1, 2, '2024-10-10', 141, 594),
(66, 1, 3, '2024-10-10', 156, 792),
(67, 1, 4, '2024-10-10', 145, 963),
(68, 1, 5, '2024-10-10', 137, 444),
(69, 1, 6, '2024-10-10', 150, 539),
(70, 1, 7, '2024-10-10', 150, 732),
(71, 1, 1, '2024-10-11', 141, 489),
(72, 1, 2, '2024-10-11', 135, 816),
(73, 1, 3, '2024-10-11', 153, 814),
(74, 1, 4, '2024-10-11', 154, 906),
(75, 1, 5, '2024-10-11', 159, 967),
(76, 1, 6, '2024-10-11', 148, 860),
(77, 1, 7, '2024-10-11', 135, 606),
(78, 1, 1, '2024-10-12', 148, 408),
(79, 1, 2, '2024-10-12', 141, 693),
(80, 1, 3, '2024-10-12', 143, 974),
(81, 1, 4, '2024-10-12', 140, 560),
(82, 1, 5, '2024-10-12', 156, 550),
(83, 1, 6, '2024-10-12', 139, 688),
(84, 1, 7, '2024-10-12', 145, 540),
(85, 1, 1, '2024-10-13', 139, 764),
(86, 1, 2, '2024-10-13', 158, 975),
(87, 1, 3, '2024-10-13', 135, 752),
(88, 1, 4, '2024-10-13', 151, 728),
(89, 1, 5, '2024-10-13', 154, 936),
(90, 1, 6, '2024-10-13', 154, 624),
(91, 1, 7, '2024-10-13', 147, 510),
(92, 1, 1, '2024-10-14', 158, 699),
(93, 1, 2, '2024-10-14', 160, 696),
(94, 1, 3, '2024-10-14', 156, 936),
(95, 1, 4, '2024-10-14', 137, 482),
(96, 1, 5, '2024-10-14', 136, 674),
(97, 1, 6, '2024-10-14', 135, 735),
(98, 1, 7, '2024-10-14', 146, 974),
(99, 1, 1, '2024-10-15', 133, 928),
(100, 1, 2, '2024-10-15', 160, 916),
(101, 1, 3, '2024-10-15', 152, 649),
(102, 1, 4, '2024-10-15', 133, 407),
(103, 1, 5, '2024-10-15', 133, 498),
(104, 1, 6, '2024-10-15', 142, 784),
(105, 1, 7, '2024-10-15', 148, 745),
(106, 1, 1, '2024-10-16', 145, 736),
(107, 1, 2, '2024-10-16', 139, 511),
(108, 1, 3, '2024-10-16', 130, 995),
(109, 1, 4, '2024-10-16', 158, 986),
(110, 1, 5, '2024-10-16', 138, 927),
(111, 1, 6, '2024-10-16', 141, 760),
(112, 1, 7, '2024-10-16', 149, 494),
(113, 1, 1, '2024-10-17', 146, 674),
(114, 1, 2, '2024-10-17', 158, 572),
(115, 1, 3, '2024-10-17', 132, 928),
(116, 1, 4, '2024-10-17', 139, 894),
(117, 1, 5, '2024-10-17', 149, 680),
(118, 1, 6, '2024-10-17', 146, 777),
(119, 1, 7, '2024-10-17', 134, 830),
(120, 1, 1, '2024-10-18', 155, 633),
(121, 1, 2, '2024-10-18', 152, 429),
(122, 1, 3, '2024-10-18', 143, 908),
(123, 1, 4, '2024-10-18', 142, 751),
(124, 1, 5, '2024-10-18', 139, 692),
(125, 1, 6, '2024-10-18', 152, 565),
(126, 1, 7, '2024-10-18', 134, 927),
(127, 1, 1, '2024-10-19', 141, 669),
(128, 1, 2, '2024-10-19', 158, 979),
(129, 1, 3, '2024-10-19', 153, 543),
(130, 1, 4, '2024-10-19', 131, 501),
(131, 1, 5, '2024-10-19', 148, 681),
(132, 1, 6, '2024-10-19', 147, 761),
(133, 1, 7, '2024-10-19', 157, 411),
(134, 1, 1, '2024-10-20', 144, 770),
(135, 1, 2, '2024-10-20', 158, 980),
(136, 1, 3, '2024-10-20', 142, 827),
(137, 1, 4, '2024-10-20', 144, 872),
(138, 1, 5, '2024-10-20', 130, 535),
(139, 1, 6, '2024-10-20', 147, 451),
(140, 1, 7, '2024-10-20', 159, 408),
(141, 1, 1, '2024-10-21', 146, 661),
(142, 1, 2, '2024-10-21', 133, 856),
(143, 1, 3, '2024-10-21', 140, 629),
(144, 1, 4, '2024-10-21', 157, 611),
(145, 1, 5, '2024-10-21', 152, 664),
(146, 1, 6, '2024-10-21', 142, 616),
(147, 1, 7, '2024-10-21', 152, 936),
(148, 1, 1, '2024-10-22', 154, 487),
(149, 1, 2, '2024-10-22', 142, 710),
(150, 1, 3, '2024-10-22', 152, 639),
(151, 1, 4, '2024-10-22', 160, 402),
(152, 1, 5, '2024-10-22', 148, 814),
(153, 1, 6, '2024-10-22', 152, 782),
(154, 1, 7, '2024-10-22', 149, 860),
(155, 1, 1, '2024-10-23', 135, 421),
(156, 1, 2, '2024-10-23', 156, 676),
(157, 1, 3, '2024-10-23', 131, 648),
(158, 1, 4, '2024-10-23', 131, 857),
(159, 1, 5, '2024-10-23', 133, 441),
(160, 1, 6, '2024-10-23', 156, 830),
(161, 1, 7, '2024-10-23', 151, 406),
(162, 1, 1, '2024-10-24', 137, 792),
(163, 1, 2, '2024-10-24', 136, 713),
(164, 1, 3, '2024-10-24', 130, 779),
(165, 1, 4, '2024-10-24', 137, 723),
(166, 1, 5, '2024-10-24', 142, 422),
(167, 1, 6, '2024-10-24', 130, 668),
(168, 1, 7, '2024-10-24', 153, 710),
(169, 1, 1, '2024-10-25', 146, 944),
(170, 1, 2, '2024-10-25', 145, 494),
(171, 1, 3, '2024-10-25', 148, 806),
(172, 1, 4, '2024-10-25', 139, 669),
(173, 1, 5, '2024-10-25', 143, 924),
(174, 1, 6, '2024-10-25', 149, 994),
(175, 1, 7, '2024-10-25', 140, 634),
(176, 1, 1, '2024-10-26', 148, 940),
(177, 1, 2, '2024-10-26', 145, 804),
(178, 1, 3, '2024-10-26', 152, 772),
(179, 1, 4, '2024-10-26', 145, 553),
(180, 1, 5, '2024-10-26', 157, 626),
(181, 1, 6, '2024-10-26', 143, 483),
(182, 1, 7, '2024-10-26', 145, 428),
(183, 1, 1, '2024-10-27', 152, 652),
(184, 1, 2, '2024-10-27', 132, 969),
(185, 1, 3, '2024-10-27', 157, 647),
(186, 1, 4, '2024-10-27', 153, 873),
(187, 1, 5, '2024-10-27', 153, 537),
(188, 1, 6, '2024-10-27', 145, 899),
(189, 1, 7, '2024-10-27', 136, 584),
(190, 1, 1, '2024-10-28', 150, 733),
(191, 1, 2, '2024-10-28', 152, 897),
(192, 1, 3, '2024-10-28', 146, 524),
(193, 1, 4, '2024-10-28', 133, 424),
(194, 1, 5, '2024-10-28', 159, 788),
(195, 1, 6, '2024-10-28', 159, 605),
(196, 1, 7, '2024-10-28', 136, 915),
(197, 1, 1, '2024-10-29', 146, 898),
(198, 1, 2, '2024-10-29', 137, 708),
(199, 1, 3, '2024-10-29', 147, 988),
(200, 1, 4, '2024-10-29', 132, 979),
(201, 1, 5, '2024-10-29', 150, 667),
(202, 1, 6, '2024-10-29', 159, 933),
(203, 1, 7, '2024-10-29', 141, 790),
(204, 1, 1, '2024-10-30', 134, 608),
(205, 1, 2, '2024-10-30', 137, 487),
(206, 1, 3, '2024-10-30', 137, 487),
(207, 1, 4, '2024-10-30', 140, 618),
(208, 1, 5, '2024-10-30', 149, 624),
(209, 1, 6, '2024-10-30', 158, 640),
(210, 1, 7, '2024-10-30', 136, 435),
(211, 1, 1, '2024-10-31', 155, 999),
(212, 1, 2, '2024-10-31', 151, 700),
(213, 1, 3, '2024-10-31', 145, 585),
(214, 1, 4, '2024-10-31', 140, 558),
(215, 1, 5, '2024-10-31', 140, 886),
(216, 1, 6, '2024-10-31', 140, 951),
(217, 1, 7, '2024-10-31', 133, 923),
(218, 2, 1, '2024-10-01', 222, 649),
(219, 2, 2, '2024-10-01', 225, 666),
(220, 2, 3, '2024-10-01', 229, 685),
(221, 2, 4, '2024-10-01', 193, 550),
(222, 2, 5, '2024-10-01', 189, 562),
(223, 2, 6, '2024-10-01', 193, 420),
(224, 2, 7, '2024-10-01', 223, 390),
(225, 2, 1, '2024-10-02', 188, 400),
(226, 2, 2, '2024-10-02', 191, 464),
(227, 2, 3, '2024-10-02', 213, 345),
(228, 2, 4, '2024-10-02', 196, 660),
(229, 2, 5, '2024-10-02', 187, 570),
(230, 2, 6, '2024-10-02', 186, 422),
(231, 2, 7, '2024-10-02', 221, 575),
(232, 2, 1, '2024-10-03', 219, 603),
(233, 2, 2, '2024-10-03', 221, 474),
(234, 2, 3, '2024-10-03', 198, 396),
(235, 2, 4, '2024-10-03', 200, 564),
(236, 2, 5, '2024-10-03', 217, 531),
(237, 2, 6, '2024-10-03', 225, 450),
(238, 2, 7, '2024-10-03', 225, 567),
(239, 2, 1, '2024-10-04', 201, 609),
(240, 2, 2, '2024-10-04', 214, 640),
(241, 2, 3, '2024-10-04', 181, 493),
(242, 2, 4, '2024-10-04', 195, 357),
(243, 2, 5, '2024-10-04', 228, 380),
(244, 2, 6, '2024-10-04', 227, 478),
(245, 2, 7, '2024-10-04', 225, 690),
(246, 2, 1, '2024-10-05', 200, 379),
(247, 2, 2, '2024-10-05', 222, 625),
(248, 2, 3, '2024-10-05', 217, 401),
(249, 2, 4, '2024-10-05', 184, 397),
(250, 2, 5, '2024-10-05', 212, 602),
(251, 2, 6, '2024-10-05', 183, 399),
(252, 2, 7, '2024-10-05', 230, 650),
(253, 2, 1, '2024-10-06', 220, 613),
(254, 2, 2, '2024-10-06', 187, 657),
(255, 2, 3, '2024-10-06', 221, 593),
(256, 2, 4, '2024-10-06', 219, 436),
(257, 2, 5, '2024-10-06', 194, 363),
(258, 2, 6, '2024-10-06', 180, 623),
(259, 2, 7, '2024-10-06', 190, 378),
(260, 2, 1, '2024-10-07', 192, 630),
(261, 2, 2, '2024-10-07', 184, 362),
(262, 2, 3, '2024-10-07', 193, 503),
(263, 2, 4, '2024-10-07', 196, 365),
(264, 2, 5, '2024-10-07', 185, 384),
(265, 2, 6, '2024-10-07', 226, 680),
(266, 2, 7, '2024-10-07', 204, 376),
(267, 2, 1, '2024-10-08', 192, 452),
(268, 2, 2, '2024-10-08', 198, 465),
(269, 2, 3, '2024-10-08', 211, 427),
(270, 2, 4, '2024-10-08', 190, 389),
(271, 2, 5, '2024-10-08', 209, 438),
(272, 2, 6, '2024-10-08', 198, 388),
(273, 2, 7, '2024-10-08', 182, 635),
(274, 2, 1, '2024-10-09', 218, 587),
(275, 2, 2, '2024-10-09', 210, 399),
(276, 2, 3, '2024-10-09', 189, 656),
(277, 2, 4, '2024-10-09', 180, 403),
(278, 2, 5, '2024-10-09', 206, 430),
(279, 2, 6, '2024-10-09', 180, 529),
(280, 2, 7, '2024-10-09', 220, 666),
(281, 2, 1, '2024-10-10', 223, 409),
(282, 2, 2, '2024-10-10', 228, 699),
(283, 2, 3, '2024-10-10', 194, 597),
(284, 2, 4, '2024-10-10', 216, 649),
(285, 2, 5, '2024-10-10', 191, 538),
(286, 2, 6, '2024-10-10', 192, 363),
(287, 2, 7, '2024-10-10', 195, 619),
(288, 2, 1, '2024-10-11', 201, 547),
(289, 2, 2, '2024-10-11', 198, 690),
(290, 2, 3, '2024-10-11', 198, 575),
(291, 2, 4, '2024-10-11', 226, 495),
(292, 2, 5, '2024-10-11', 230, 653),
(293, 2, 6, '2024-10-11', 180, 455),
(294, 2, 7, '2024-10-11', 201, 531),
(295, 2, 1, '2024-10-12', 224, 376),
(296, 2, 2, '2024-10-12', 207, 515),
(297, 2, 3, '2024-10-12', 215, 599),
(298, 2, 4, '2024-10-12', 210, 629),
(299, 2, 5, '2024-10-12', 228, 429),
(300, 2, 6, '2024-10-12', 190, 532),
(301, 2, 7, '2024-10-12', 199, 532),
(302, 2, 1, '2024-10-13', 226, 536),
(303, 2, 2, '2024-10-13', 201, 395),
(304, 2, 3, '2024-10-13', 192, 474),
(305, 2, 4, '2024-10-13', 212, 469),
(306, 2, 5, '2024-10-13', 224, 324),
(307, 2, 6, '2024-10-13', 202, 449),
(308, 2, 7, '2024-10-13', 195, 548),
(309, 2, 1, '2024-10-14', 226, 488),
(310, 2, 2, '2024-10-14', 225, 599),
(311, 2, 3, '2024-10-14', 218, 595),
(312, 2, 4, '2024-10-14', 186, 549),
(313, 2, 5, '2024-10-14', 202, 614),
(314, 2, 6, '2024-10-14', 218, 584),
(315, 2, 7, '2024-10-14', 227, 358),
(316, 2, 1, '2024-10-15', 202, 565),
(317, 2, 2, '2024-10-15', 197, 604),
(318, 2, 3, '2024-10-15', 212, 557),
(319, 2, 4, '2024-10-15', 214, 433),
(320, 2, 5, '2024-10-15', 191, 427),
(321, 2, 6, '2024-10-15', 204, 561),
(322, 2, 7, '2024-10-15', 208, 441),
(323, 2, 1, '2024-10-16', 184, 352),
(324, 2, 2, '2024-10-16', 225, 671),
(325, 2, 3, '2024-10-16', 199, 510),
(326, 2, 4, '2024-10-16', 187, 362),
(327, 2, 5, '2024-10-16', 184, 687),
(328, 2, 6, '2024-10-16', 216, 547),
(329, 2, 7, '2024-10-16', 181, 444),
(330, 2, 1, '2024-10-17', 196, 610),
(331, 2, 2, '2024-10-17', 226, 591),
(332, 2, 3, '2024-10-17', 196, 396),
(333, 2, 4, '2024-10-17', 204, 408),
(334, 2, 5, '2024-10-17', 220, 575),
(335, 2, 6, '2024-10-17', 212, 684),
(336, 2, 7, '2024-10-17', 190, 380),
(337, 2, 1, '2024-10-18', 207, 664),
(338, 2, 2, '2024-10-18', 184, 466),
(339, 2, 3, '2024-10-18', 199, 378),
(340, 2, 4, '2024-10-18', 215, 698),
(341, 2, 5, '2024-10-18', 208, 407),
(342, 2, 6, '2024-10-18', 181, 410),
(343, 2, 7, '2024-10-18', 203, 601),
(344, 2, 1, '2024-10-19', 208, 656),
(345, 2, 2, '2024-10-19', 212, 461),
(346, 2, 3, '2024-10-19', 194, 479),
(347, 2, 4, '2024-10-19', 185, 347),
(348, 2, 5, '2024-10-19', 183, 650),
(349, 2, 6, '2024-10-19', 198, 629),
(350, 2, 7, '2024-10-19', 205, 453),
(351, 2, 1, '2024-10-20', 195, 664),
(352, 2, 2, '2024-10-20', 218, 374),
(353, 2, 3, '2024-10-20', 225, 522),
(354, 2, 4, '2024-10-20', 188, 629),
(355, 2, 5, '2024-10-20', 204, 645),
(356, 2, 6, '2024-10-20', 222, 663),
(357, 2, 7, '2024-10-20', 222, 586),
(358, 2, 1, '2024-10-21', 203, 648),
(359, 2, 2, '2024-10-21', 189, 635),
(360, 2, 3, '2024-10-21', 209, 393),
(361, 2, 4, '2024-10-21', 191, 519),
(362, 2, 5, '2024-10-21', 212, 505),
(363, 2, 6, '2024-10-21', 193, 582),
(364, 2, 7, '2024-10-21', 226, 501),
(365, 2, 1, '2024-10-22', 210, 653),
(366, 2, 2, '2024-10-22', 210, 456),
(367, 2, 3, '2024-10-22', 215, 339),
(368, 2, 4, '2024-10-22', 218, 661),
(369, 2, 5, '2024-10-22', 181, 590),
(370, 2, 6, '2024-10-22', 221, 682),
(371, 2, 7, '2024-10-22', 200, 691),
(372, 2, 1, '2024-10-23', 198, 634),
(373, 2, 2, '2024-10-23', 216, 337),
(374, 2, 3, '2024-10-23', 195, 566),
(375, 2, 4, '2024-10-23', 223, 540),
(376, 2, 5, '2024-10-23', 228, 358),
(377, 2, 6, '2024-10-23', 222, 376),
(378, 2, 7, '2024-10-23', 207, 513),
(379, 2, 1, '2024-10-24', 205, 427),
(380, 2, 2, '2024-10-24', 180, 544),
(381, 2, 3, '2024-10-24', 206, 479),
(382, 2, 4, '2024-10-24', 208, 433),
(383, 2, 5, '2024-10-24', 188, 595),
(384, 2, 6, '2024-10-24', 211, 382),
(385, 2, 7, '2024-10-24', 218, 621),
(386, 2, 1, '2024-10-25', 212, 520),
(387, 2, 2, '2024-10-25', 210, 471),
(388, 2, 3, '2024-10-25', 186, 506),
(389, 2, 4, '2024-10-25', 187, 479),
(390, 2, 5, '2024-10-25', 228, 601),
(391, 2, 6, '2024-10-25', 203, 617),
(392, 2, 7, '2024-10-25', 182, 541),
(393, 2, 1, '2024-10-26', 214, 432),
(394, 2, 2, '2024-10-26', 181, 620),
(395, 2, 3, '2024-10-26', 186, 320),
(396, 2, 4, '2024-10-26', 205, 627),
(397, 2, 5, '2024-10-26', 186, 399),
(398, 2, 6, '2024-10-26', 212, 390),
(399, 2, 7, '2024-10-26', 222, 692),
(400, 2, 1, '2024-10-27', 229, 608),
(401, 2, 2, '2024-10-27', 180, 553),
(402, 2, 3, '2024-10-27', 217, 595),
(403, 2, 4, '2024-10-27', 207, 529),
(404, 2, 5, '2024-10-27', 203, 444),
(405, 2, 6, '2024-10-27', 218, 446),
(406, 2, 7, '2024-10-27', 223, 653),
(407, 2, 1, '2024-10-28', 196, 596),
(408, 2, 2, '2024-10-28', 224, 364),
(409, 2, 3, '2024-10-28', 197, 664),
(410, 2, 4, '2024-10-28', 221, 472),
(411, 2, 5, '2024-10-28', 205, 499),
(412, 2, 6, '2024-10-28', 196, 608),
(413, 2, 7, '2024-10-28', 180, 513),
(414, 2, 1, '2024-10-29', 216, 469),
(415, 2, 2, '2024-10-29', 194, 372),
(416, 2, 3, '2024-10-29', 185, 363),
(417, 2, 4, '2024-10-29', 203, 455),
(418, 2, 5, '2024-10-29', 186, 401),
(419, 2, 6, '2024-10-29', 215, 479),
(420, 2, 7, '2024-10-29', 225, 507),
(421, 2, 1, '2024-10-30', 218, 559),
(422, 2, 2, '2024-10-30', 214, 477),
(423, 2, 3, '2024-10-30', 181, 320),
(424, 2, 4, '2024-10-30', 213, 382),
(425, 2, 5, '2024-10-30', 199, 506),
(426, 2, 6, '2024-10-30', 191, 369),
(427, 2, 7, '2024-10-30', 195, 559),
(428, 2, 1, '2024-10-31', 230, 378),
(429, 2, 2, '2024-10-31', 222, 698),
(430, 2, 3, '2024-10-31', 206, 355),
(431, 2, 4, '2024-10-31', 193, 436),
(432, 2, 5, '2024-10-31', 230, 391),
(433, 2, 6, '2024-10-31', 215, 380),
(434, 2, 7, '2024-10-31', 224, 412),
(435, 3, 1, '2024-10-01', 323, 377),
(436, 3, 2, '2024-10-01', 287, 860),
(437, 3, 3, '2024-10-01', 307, 279),
(438, 3, 4, '2024-10-01', 319, 780),
(439, 3, 5, '2024-10-01', 297, 464),
(440, 3, 6, '2024-10-01', 281, 535),
(441, 3, 7, '2024-10-01', 260, 1149),
(442, 3, 1, '2024-10-02', 317, 958),
(443, 3, 2, '2024-10-02', 283, 798),
(444, 3, 3, '2024-10-02', 264, 438),
(445, 3, 4, '2024-10-02', 330, 819),
(446, 3, 5, '2024-10-02', 267, 1177),
(447, 3, 6, '2024-10-02', 276, 666),
(448, 3, 7, '2024-10-02', 282, 405),
(449, 3, 1, '2024-10-03', 305, 896),
(450, 3, 2, '2024-10-03', 308, 296),
(451, 3, 3, '2024-10-03', 294, 611),
(452, 3, 4, '2024-10-03', 308, 745),
(453, 3, 5, '2024-10-03', 280, 393),
(454, 3, 6, '2024-10-03', 310, 665),
(455, 3, 7, '2024-10-03', 307, 1148),
(456, 3, 1, '2024-10-04', 316, 1150),
(457, 3, 2, '2024-10-04', 306, 427),
(458, 3, 3, '2024-10-04', 309, 963),
(459, 3, 4, '2024-10-04', 292, 1082),
(460, 3, 5, '2024-10-04', 291, 393),
(461, 3, 6, '2024-10-04', 304, 908),
(462, 3, 7, '2024-10-04', 314, 1072),
(463, 3, 1, '2024-10-05', 261, 882),
(464, 3, 2, '2024-10-05', 294, 558),
(465, 3, 3, '2024-10-05', 307, 764),
(466, 3, 4, '2024-10-05', 282, 885),
(467, 3, 5, '2024-10-05', 307, 566),
(468, 3, 6, '2024-10-05', 271, 321),
(469, 3, 7, '2024-10-05', 287, 782),
(470, 3, 1, '2024-10-06', 308, 492),
(471, 3, 2, '2024-10-06', 309, 676),
(472, 3, 3, '2024-10-06', 302, 790),
(473, 3, 4, '2024-10-06', 311, 565),
(474, 3, 5, '2024-10-06', 291, 804),
(475, 3, 6, '2024-10-06', 291, 988),
(476, 3, 7, '2024-10-06', 309, 345),
(477, 3, 1, '2024-10-07', 300, 1023),
(478, 3, 2, '2024-10-07', 311, 942),
(479, 3, 3, '2024-10-07', 272, 536),
(480, 3, 4, '2024-10-07', 288, 382),
(481, 3, 5, '2024-10-07', 297, 421),
(482, 3, 6, '2024-10-07', 320, 943),
(483, 3, 7, '2024-10-07', 323, 845),
(484, 3, 1, '2024-10-08', 280, 328),
(485, 3, 2, '2024-10-08', 303, 526),
(486, 3, 3, '2024-10-08', 262, 596),
(487, 3, 4, '2024-10-08', 260, 335),
(488, 3, 5, '2024-10-08', 314, 759),
(489, 3, 6, '2024-10-08', 295, 1033),
(490, 3, 7, '2024-10-08', 285, 843),
(491, 3, 1, '2024-10-09', 274, 319),
(492, 3, 2, '2024-10-09', 265, 1060),
(493, 3, 3, '2024-10-09', 262, 533),
(494, 3, 4, '2024-10-09', 299, 512),
(495, 3, 5, '2024-10-09', 310, 382),
(496, 3, 6, '2024-10-09', 304, 942),
(497, 3, 7, '2024-10-09', 290, 348),
(498, 3, 1, '2024-10-10', 277, 952),
(499, 3, 2, '2024-10-10', 293, 923),
(500, 3, 3, '2024-10-10', 289, 935),
(501, 3, 4, '2024-10-10', 329, 277),
(502, 3, 5, '2024-10-10', 319, 953),
(503, 3, 6, '2024-10-10', 277, 737),
(504, 3, 7, '2024-10-10', 317, 420),
(505, 3, 1, '2024-10-11', 275, 346),
(506, 3, 2, '2024-10-11', 265, 899),
(507, 3, 3, '2024-10-11', 270, 574),
(508, 3, 4, '2024-10-11', 327, 527),
(509, 3, 5, '2024-10-11', 317, 828),
(510, 3, 6, '2024-10-11', 270, 1112),
(511, 3, 7, '2024-10-11', 285, 876),
(512, 3, 1, '2024-10-12', 317, 581),
(513, 3, 2, '2024-10-12', 327, 572),
(514, 3, 3, '2024-10-12', 281, 1026),
(515, 3, 4, '2024-10-12', 309, 620),
(516, 3, 5, '2024-10-12', 316, 838),
(517, 3, 6, '2024-10-12', 269, 1195),
(518, 3, 7, '2024-10-12', 306, 766),
(519, 3, 1, '2024-10-13', 327, 322),
(520, 3, 2, '2024-10-13', 302, 660),
(521, 3, 3, '2024-10-13', 319, 363),
(522, 3, 4, '2024-10-13', 276, 726),
(523, 3, 5, '2024-10-13', 314, 993),
(524, 3, 6, '2024-10-13', 297, 314),
(525, 3, 7, '2024-10-13', 324, 1043),
(526, 3, 1, '2024-10-14', 283, 394),
(527, 3, 2, '2024-10-14', 264, 956),
(528, 3, 3, '2024-10-14', 271, 797),
(529, 3, 4, '2024-10-14', 328, 502),
(530, 3, 5, '2024-10-14', 265, 557),
(531, 3, 6, '2024-10-14', 309, 512),
(532, 3, 7, '2024-10-14', 319, 324),
(533, 3, 1, '2024-10-15', 282, 265),
(534, 3, 2, '2024-10-15', 274, 1098),
(535, 3, 3, '2024-10-15', 273, 1192),
(536, 3, 4, '2024-10-15', 267, 653),
(537, 3, 5, '2024-10-15', 304, 740),
(538, 3, 6, '2024-10-15', 280, 985),
(539, 3, 7, '2024-10-15', 288, 872),
(540, 3, 1, '2024-10-16', 289, 628),
(541, 3, 2, '2024-10-16', 266, 314),
(542, 3, 3, '2024-10-16', 262, 284),
(543, 3, 4, '2024-10-16', 315, 729),
(544, 3, 5, '2024-10-16', 269, 482),
(545, 3, 6, '2024-10-16', 327, 782),
(546, 3, 7, '2024-10-16', 279, 523),
(547, 3, 1, '2024-10-17', 310, 920),
(548, 3, 2, '2024-10-17', 281, 604),
(549, 3, 3, '2024-10-17', 265, 847),
(550, 3, 4, '2024-10-17', 260, 421),
(551, 3, 5, '2024-10-17', 296, 462),
(552, 3, 6, '2024-10-17', 279, 967),
(553, 3, 7, '2024-10-17', 283, 871),
(554, 3, 1, '2024-10-18', 279, 892),
(555, 3, 2, '2024-10-18', 319, 389),
(556, 3, 3, '2024-10-18', 273, 549),
(557, 3, 4, '2024-10-18', 307, 448),
(558, 3, 5, '2024-10-18', 281, 529),
(559, 3, 6, '2024-10-18', 330, 363),
(560, 3, 7, '2024-10-18', 301, 445),
(561, 3, 1, '2024-10-19', 289, 494),
(562, 3, 2, '2024-10-19', 327, 1159),
(563, 3, 3, '2024-10-19', 296, 1142),
(564, 3, 4, '2024-10-19', 267, 830),
(565, 3, 5, '2024-10-19', 274, 747),
(566, 3, 6, '2024-10-19', 264, 839),
(567, 3, 7, '2024-10-19', 326, 787),
(568, 3, 1, '2024-10-20', 305, 1144),
(569, 3, 2, '2024-10-20', 296, 974),
(570, 3, 3, '2024-10-20', 261, 609),
(571, 3, 4, '2024-10-20', 266, 635),
(572, 3, 5, '2024-10-20', 281, 1028),
(573, 3, 6, '2024-10-20', 326, 442),
(574, 3, 7, '2024-10-20', 324, 685),
(575, 3, 1, '2024-10-21', 268, 948),
(576, 3, 2, '2024-10-21', 287, 885),
(577, 3, 3, '2024-10-21', 263, 577),
(578, 3, 4, '2024-10-21', 287, 783),
(579, 3, 5, '2024-10-21', 273, 1163),
(580, 3, 6, '2024-10-21', 284, 734),
(581, 3, 7, '2024-10-21', 273, 838),
(582, 3, 1, '2024-10-22', 298, 937),
(583, 3, 2, '2024-10-22', 323, 915),
(584, 3, 3, '2024-10-22', 270, 538),
(585, 3, 4, '2024-10-22', 315, 497),
(586, 3, 5, '2024-10-22', 318, 496),
(587, 3, 6, '2024-10-22', 330, 416),
(588, 3, 7, '2024-10-22', 305, 297),
(589, 3, 1, '2024-10-23', 281, 758),
(590, 3, 2, '2024-10-23', 272, 877),
(591, 3, 3, '2024-10-23', 273, 853),
(592, 3, 4, '2024-10-23', 288, 1132),
(593, 3, 5, '2024-10-23', 326, 828),
(594, 3, 6, '2024-10-23', 287, 713),
(595, 3, 7, '2024-10-23', 267, 708),
(596, 3, 1, '2024-10-24', 318, 849),
(597, 3, 2, '2024-10-24', 309, 495),
(598, 3, 3, '2024-10-24', 302, 961),
(599, 3, 4, '2024-10-24', 314, 587),
(600, 3, 5, '2024-10-24', 319, 945),
(601, 3, 6, '2024-10-24', 268, 1146),
(602, 3, 7, '2024-10-24', 324, 351),
(603, 3, 1, '2024-10-25', 276, 521),
(604, 3, 2, '2024-10-25', 284, 267),
(605, 3, 3, '2024-10-25', 266, 1119),
(606, 3, 4, '2024-10-25', 322, 744),
(607, 3, 5, '2024-10-25', 276, 383),
(608, 3, 6, '2024-10-25', 327, 727),
(609, 3, 7, '2024-10-25', 275, 845),
(610, 3, 1, '2024-10-26', 297, 1163),
(611, 3, 2, '2024-10-26', 270, 561),
(612, 3, 3, '2024-10-26', 308, 794),
(613, 3, 4, '2024-10-26', 294, 528),
(614, 3, 5, '2024-10-26', 300, 912),
(615, 3, 6, '2024-10-26', 278, 545),
(616, 3, 7, '2024-10-26', 328, 731),
(617, 3, 1, '2024-10-27', 312, 512),
(618, 3, 2, '2024-10-27', 303, 949),
(619, 3, 3, '2024-10-27', 306, 798),
(620, 3, 4, '2024-10-27', 290, 836),
(621, 3, 5, '2024-10-27', 321, 968),
(622, 3, 6, '2024-10-27', 309, 1022),
(623, 3, 7, '2024-10-27', 270, 515),
(624, 3, 1, '2024-10-28', 267, 746),
(625, 3, 2, '2024-10-28', 291, 972),
(626, 3, 3, '2024-10-28', 282, 872),
(627, 3, 4, '2024-10-28', 263, 352),
(628, 3, 5, '2024-10-28', 311, 1062),
(629, 3, 6, '2024-10-28', 262, 334),
(630, 3, 7, '2024-10-28', 315, 481),
(631, 3, 1, '2024-10-29', 330, 805),
(632, 3, 2, '2024-10-29', 315, 753),
(633, 3, 3, '2024-10-29', 260, 261),
(634, 3, 4, '2024-10-29', 291, 686),
(635, 3, 5, '2024-10-29', 275, 442),
(636, 3, 6, '2024-10-29', 299, 1100),
(637, 3, 7, '2024-10-29', 319, 337),
(638, 3, 1, '2024-10-30', 300, 1172),
(639, 3, 2, '2024-10-30', 272, 826),
(640, 3, 3, '2024-10-30', 308, 1122),
(641, 3, 4, '2024-10-30', 266, 1027),
(642, 3, 5, '2024-10-30', 268, 1178),
(643, 3, 6, '2024-10-30', 260, 714),
(644, 3, 7, '2024-10-30', 310, 441),
(645, 3, 1, '2024-10-31', 330, 922),
(646, 3, 2, '2024-10-31', 279, 497),
(647, 3, 3, '2024-10-31', 288, 959),
(648, 3, 4, '2024-10-31', 310, 1083),
(649, 3, 5, '2024-10-31', 315, 380),
(650, 3, 6, '2024-10-31', 319, 1093),
(651, 3, 7, '2024-10-31', 307, 483),
(652, 4, 1, '2024-10-01', 522, 47),
(653, 4, 2, '2024-10-01', 507, 30),
(654, 4, 3, '2024-10-01', 485, 94),
(655, 4, 4, '2024-10-01', 452, 422),
(656, 4, 5, '2024-10-01', 506, 658),
(657, 4, 6, '2024-10-01', 403, 464),
(658, 4, 7, '2024-10-01', 513, 573),
(659, 4, 1, '2024-10-02', 451, 37),
(660, 4, 2, '2024-10-02', 446, 411),
(661, 4, 3, '2024-10-02', 422, 160),
(662, 4, 4, '2024-10-02', 416, 673),
(663, 4, 5, '2024-10-02', 425, 466),
(664, 4, 6, '2024-10-02', 495, 449),
(665, 4, 7, '2024-10-02', 535, 474),
(666, 4, 1, '2024-10-03', 495, 581),
(667, 4, 2, '2024-10-03', 410, 467),
(668, 4, 3, '2024-10-03', 476, 311),
(669, 4, 4, '2024-10-03', 464, 664),
(670, 4, 5, '2024-10-03', 441, 555),
(671, 4, 6, '2024-10-03', 522, 610),
(672, 4, 7, '2024-10-03', 409, 138),
(673, 4, 1, '2024-10-04', 537, 569),
(674, 4, 2, '2024-10-04', 460, 517),
(675, 4, 3, '2024-10-04', 479, 569),
(676, 4, 4, '2024-10-04', 533, 349),
(677, 4, 5, '2024-10-04', 437, 256),
(678, 4, 6, '2024-10-04', 530, 434),
(679, 4, 7, '2024-10-04', 547, 239),
(680, 4, 1, '2024-10-05', 458, 114),
(681, 4, 2, '2024-10-05', 409, 73),
(682, 4, 3, '2024-10-05', 414, 217),
(683, 4, 4, '2024-10-05', 478, 114),
(684, 4, 5, '2024-10-05', 475, 432),
(685, 4, 6, '2024-10-05', 474, 238),
(686, 4, 7, '2024-10-05', 481, 497),
(687, 4, 1, '2024-10-06', 467, 596),
(688, 4, 2, '2024-10-06', 520, 425),
(689, 4, 3, '2024-10-06', 454, 228),
(690, 4, 4, '2024-10-06', 432, 429),
(691, 4, 5, '2024-10-06', 492, 239),
(692, 4, 6, '2024-10-06', 448, 263),
(693, 4, 7, '2024-10-06', 537, 688),
(694, 4, 1, '2024-10-07', 498, 408),
(695, 4, 2, '2024-10-07', 521, 767),
(696, 4, 3, '2024-10-07', 413, 32),
(697, 4, 4, '2024-10-07', 413, 84),
(698, 4, 5, '2024-10-07', 466, 155),
(699, 4, 6, '2024-10-07', 523, 586),
(700, 4, 7, '2024-10-07', 467, 691),
(701, 4, 1, '2024-10-08', 541, 282),
(702, 4, 2, '2024-10-08', 436, 587),
(703, 4, 3, '2024-10-08', 473, 378),
(704, 4, 4, '2024-10-08', 521, 580),
(705, 4, 5, '2024-10-08', 512, 769),
(706, 4, 6, '2024-10-08', 489, 231),
(707, 4, 7, '2024-10-08', 548, 267),
(708, 4, 1, '2024-10-09', 460, 625),
(709, 4, 2, '2024-10-09', 528, 622),
(710, 4, 3, '2024-10-09', 423, 482),
(711, 4, 4, '2024-10-09', 539, 227),
(712, 4, 5, '2024-10-09', 409, 217),
(713, 4, 6, '2024-10-09', 408, 711),
(714, 4, 7, '2024-10-09', 526, 167),
(715, 4, 1, '2024-10-10', 547, 182),
(716, 4, 2, '2024-10-10', 466, 687),
(717, 4, 3, '2024-10-10', 490, 520),
(718, 4, 4, '2024-10-10', 526, 681),
(719, 4, 5, '2024-10-10', 492, 385),
(720, 4, 6, '2024-10-10', 546, 248),
(721, 4, 7, '2024-10-10', 538, 277),
(722, 4, 1, '2024-10-11', 500, 319),
(723, 4, 2, '2024-10-11', 515, 208),
(724, 4, 3, '2024-10-11', 536, 726),
(725, 4, 4, '2024-10-11', 532, 121),
(726, 4, 5, '2024-10-11', 493, 638),
(727, 4, 6, '2024-10-11', 530, 432),
(728, 4, 7, '2024-10-11', 435, 726),
(729, 4, 1, '2024-10-12', 422, 357),
(730, 4, 2, '2024-10-12', 449, 767),
(731, 4, 3, '2024-10-12', 464, 305),
(732, 4, 4, '2024-10-12', 448, 483),
(733, 4, 5, '2024-10-12', 490, 171),
(734, 4, 6, '2024-10-12', 540, 764),
(735, 4, 7, '2024-10-12', 487, 383),
(736, 4, 1, '2024-10-13', 445, 40),
(737, 4, 2, '2024-10-13', 415, 583),
(738, 4, 3, '2024-10-13', 493, 172),
(739, 4, 4, '2024-10-13', 483, 536),
(740, 4, 5, '2024-10-13', 449, 77),
(741, 4, 6, '2024-10-13', 412, 265),
(742, 4, 7, '2024-10-13', 414, 49),
(743, 4, 1, '2024-10-14', 405, 300),
(744, 4, 2, '2024-10-14', 506, 412),
(745, 4, 3, '2024-10-14', 528, 678),
(746, 4, 4, '2024-10-14', 534, 688),
(747, 4, 5, '2024-10-14', 439, 468),
(748, 4, 6, '2024-10-14', 415, 766),
(749, 4, 7, '2024-10-14', 544, 347),
(750, 4, 1, '2024-10-15', 455, 72),
(751, 4, 2, '2024-10-15', 543, 280),
(752, 4, 3, '2024-10-15', 404, 645),
(753, 4, 4, '2024-10-15', 505, 264),
(754, 4, 5, '2024-10-15', 406, 511),
(755, 4, 6, '2024-10-15', 498, 365),
(756, 4, 7, '2024-10-15', 531, 626),
(757, 4, 1, '2024-10-16', 543, 309),
(758, 4, 2, '2024-10-16', 488, 626),
(759, 4, 3, '2024-10-16', 530, 232),
(760, 4, 4, '2024-10-16', 404, 202),
(761, 4, 5, '2024-10-16', 484, 84),
(762, 4, 6, '2024-10-16', 458, 550),
(763, 4, 7, '2024-10-16', 435, 139),
(764, 4, 1, '2024-10-17', 549, 737),
(765, 4, 2, '2024-10-17', 535, 132),
(766, 4, 3, '2024-10-17', 471, 31),
(767, 4, 4, '2024-10-17', 532, 139),
(768, 4, 5, '2024-10-17', 455, 87),
(769, 4, 6, '2024-10-17', 471, 468),
(770, 4, 7, '2024-10-17', 494, 440),
(771, 4, 1, '2024-10-18', 472, 763),
(772, 4, 2, '2024-10-18', 509, 622),
(773, 4, 3, '2024-10-18', 404, 188),
(774, 4, 4, '2024-10-18', 452, 747),
(775, 4, 5, '2024-10-18', 462, 572),
(776, 4, 6, '2024-10-18', 429, 570),
(777, 4, 7, '2024-10-18', 549, 114),
(778, 4, 1, '2024-10-19', 484, 151),
(779, 4, 2, '2024-10-19', 517, 621),
(780, 4, 3, '2024-10-19', 440, 96),
(781, 4, 4, '2024-10-19', 528, 743),
(782, 4, 5, '2024-10-19', 525, 394),
(783, 4, 6, '2024-10-19', 501, 701),
(784, 4, 7, '2024-10-19', 523, 398),
(785, 4, 1, '2024-10-20', 445, 689),
(786, 4, 2, '2024-10-20', 511, 240),
(787, 4, 3, '2024-10-20', 498, 141),
(788, 4, 4, '2024-10-20', 521, 382),
(789, 4, 5, '2024-10-20', 511, 180),
(790, 4, 6, '2024-10-20', 442, 571),
(791, 4, 7, '2024-10-20', 471, 156),
(792, 4, 1, '2024-10-21', 435, 304),
(793, 4, 2, '2024-10-21', 537, 632),
(794, 4, 3, '2024-10-21', 525, 384),
(795, 4, 4, '2024-10-21', 480, 53),
(796, 4, 5, '2024-10-21', 472, 140),
(797, 4, 6, '2024-10-21', 495, 480),
(798, 4, 7, '2024-10-21', 420, 367),
(799, 4, 1, '2024-10-22', 516, 579),
(800, 4, 2, '2024-10-22', 520, 118),
(801, 4, 3, '2024-10-22', 486, 399),
(802, 4, 4, '2024-10-22', 478, 101),
(803, 4, 5, '2024-10-22', 473, 275),
(804, 4, 6, '2024-10-22', 423, 351),
(805, 4, 7, '2024-10-22', 428, 30),
(806, 4, 1, '2024-10-23', 532, 636),
(807, 4, 2, '2024-10-23', 464, 530),
(808, 4, 3, '2024-10-23', 427, 175),
(809, 4, 4, '2024-10-23', 401, 740),
(810, 4, 5, '2024-10-23', 490, 361),
(811, 4, 6, '2024-10-23', 467, 232),
(812, 4, 7, '2024-10-23', 483, 236),
(813, 4, 1, '2024-10-24', 451, 176),
(814, 4, 2, '2024-10-24', 500, 41),
(815, 4, 3, '2024-10-24', 496, 481),
(816, 4, 4, '2024-10-24', 529, 267),
(817, 4, 5, '2024-10-24', 480, 101),
(818, 4, 6, '2024-10-24', 507, 157),
(819, 4, 7, '2024-10-24', 471, 183),
(820, 4, 1, '2024-10-25', 441, 202),
(821, 4, 2, '2024-10-25', 503, 226),
(822, 4, 3, '2024-10-25', 416, 272),
(823, 4, 4, '2024-10-25', 417, 454),
(824, 4, 5, '2024-10-25', 424, 695),
(825, 4, 6, '2024-10-25', 496, 344),
(826, 4, 7, '2024-10-25', 444, 650),
(827, 4, 1, '2024-10-26', 491, 150),
(828, 4, 2, '2024-10-26', 430, 259),
(829, 4, 3, '2024-10-26', 501, 225),
(830, 4, 4, '2024-10-26', 460, 58),
(831, 4, 5, '2024-10-26', 547, 360),
(832, 4, 6, '2024-10-26', 475, 303),
(833, 4, 7, '2024-10-26', 509, 108),
(834, 4, 1, '2024-10-27', 441, 345),
(835, 4, 2, '2024-10-27', 413, 67),
(836, 4, 3, '2024-10-27', 493, 194),
(837, 4, 4, '2024-10-27', 447, 288),
(838, 4, 5, '2024-10-27', 526, 199),
(839, 4, 6, '2024-10-27', 519, 698),
(840, 4, 7, '2024-10-27', 447, 536),
(841, 4, 1, '2024-10-28', 461, 119),
(842, 4, 2, '2024-10-28', 436, 254),
(843, 4, 3, '2024-10-28', 550, 576),
(844, 4, 4, '2024-10-28', 526, 681),
(845, 4, 5, '2024-10-28', 478, 669),
(846, 4, 6, '2024-10-28', 493, 164),
(847, 4, 7, '2024-10-28', 534, 426),
(848, 4, 1, '2024-10-29', 504, 714),
(849, 4, 2, '2024-10-29', 493, 250),
(850, 4, 3, '2024-10-29', 477, 606),
(851, 4, 4, '2024-10-29', 433, 709),
(852, 4, 5, '2024-10-29', 434, 364),
(853, 4, 6, '2024-10-29', 532, 49),
(854, 4, 7, '2024-10-29', 501, 703),
(855, 4, 1, '2024-10-30', 515, 397),
(856, 4, 2, '2024-10-30', 469, 539),
(857, 4, 3, '2024-10-30', 440, 776),
(858, 4, 4, '2024-10-30', 475, 204),
(859, 4, 5, '2024-10-30', 520, 418),
(860, 4, 6, '2024-10-30', 400, 598),
(861, 4, 7, '2024-10-30', 434, 696),
(862, 4, 1, '2024-10-31', 403, 452),
(863, 4, 2, '2024-10-31', 494, 359),
(864, 4, 3, '2024-10-31', 514, 154),
(865, 4, 4, '2024-10-31', 466, 752),
(866, 4, 5, '2024-10-31', 454, 351),
(867, 4, 6, '2024-10-31', 455, 473),
(868, 4, 7, '2024-10-31', 479, 431)
;
脚注
  1. そしてほぼ100%そういう事態になるんです。私はそれを知っています ↩︎

  2. 途中のサブクエリが (n^2)/2 件程度まで膨れるのが微妙なんですよね・・・ ↩︎

Agent Grow Tech Notes
Agent Grow Tech Notes

Discussion