我想創建一個SQL查詢,將某些百分比範圍內的項目增加價格分組。例如如何創建在特定百分比範圍內組合的SQL查詢
2項0之間提高到10%
4項10之間增加至20%
2項之間20〜30%
增加...
目標服務器:MySQL
我想創建一個SQL查詢,將某些百分比範圍內的項目增加價格分組。例如如何創建在特定百分比範圍內組合的SQL查詢
2項0之間提高到10%
4項10之間增加至20%
2項之間20〜30%
增加...
目標服務器:MySQL
SELECT SUM(CASE WHEN PercentChange >= 0 AND PercentChange <= 10 THEN 1 ELSE 0) END AS ZeroTen,
SUM(CASE WHEN PercentChange > 10 AND PercentChange <= 20 THEN 1 ELSE 0) END AS TenTwenty,
SUM(CASE WHEN PercentChange > 20 AND PercentChange <= 30 THEN 1 ELSE 0) END AS TwentyThirty
FROM MagicChangeTable
注意:MagicChangeTable
可能實際上是計算百分比變化的子查詢。
在這個問題中,10%或20%(精確地)走哪一組是不明確的。但無論如何它必須是'PercentChange> = 0'。 –
@ErwinBrandstetter公平點回答已修改。 –
@Joe這將起作用,但是,取得範圍0到10的最有效方法是什麼?10到10等等取決於它的計算結果?是否有可能使動態分組?通過實時計算取決於百分比的範圍謝謝.. – Bartzilla
如果你想所有範圍由10: 用途:
SELECT (d-10)*10 AS `from` , (d-9)*10 AS `to` , c AS `count` FROM
(SELECT DISTINCT(FLOOR((`p`.`new`*10)/(`p`.`old`))) AS d,
count(1) AS c FROM prices as p GROUP BY 1) AS stats
這樣的結構:
CREATE TABLE `prices` (
`old` int(11) NOT NULL,
`new` int(11) NOT NULL
);
編輯:> =從和<到
分享一些代碼。 –
關於數據庫模式的一些線索?很難想象你的桌子和你需要從哪裏提取價格或範圍...... – yoprogramo