MySQL クエリを作成して、各製品の最も一般的な行と大幅に異なる行をカウントし、その差異の割合を報告しようとしています。100% 未満の場合、価格はその製品の平均価格よりも低くなります。 100%を超えると価格が高くなります。平均からの標準偏差が 1 未満の価格は無視されます。
###サンプルデータ:###
_タイムスタンプ | ###コード###fk_product_id | fk_po_id | ###料金###5952 | ||
---|---|---|---|---|---|
1367 | 543 | 0.850 | 9403 | 2022-05-23 14:54:34 | |
1367 | 2942 | 0.850 | 41595 | 2022-11-23 11:20:26 | |
1367 | 3391 | 1.350 | 39635 | 2022-01-18 12:49:32 | |
344 | 3153 | 0.140 | 40134 | 2022-04-06 22:39:34 | |
344 | 2747 | 0.190 | 41676 | 2022-12-09 16:28:28 | |
344 | 3398 | 0.140 | 39634 | 2022-01-18 12:49:31 | |
1024 | 3154 | 0.770 | 35634 | 2021-03-03 15:23:23 | |
1024 | 3203 | 0.790 | 41264 | 2022-11-16 11:41:44 | |
1024 | 3357 | 0.970 | リーリー | これにより行は返されませんが、レポートには 3 行 (製品ごとに 1 行) が表示されます。期待される結果は次のようになります: |
###コード###
fk_product_id###料金###
パーセンテージ00805 | 1367 | 1.350 | |
---|---|---|---|
水1 | 344 | 0.190 | 121 |
gr309203 344400 | 1024 | 0.970 | 115 |
このクエリは、ウィンドウ関数を使用して、指定された各コードの標準偏差の数と平均コストに対するコストの割合を計算する方法を示します。
リーリー ###結果:### リーリー(ウィンドウ関数には MySQL 8.0 が必要であることに注意してください)。
このクエリは、計算がどのように行われるかを示すだけです。望む結果を得るには:
リーリー