我有一個表格,我想在其中按類別和天數進行分組,但是我想將這些天組織到不同的存盤桶中,顯然我找不到辦法做到這一點。抱歉無法格式化下面的示例表,我嘗試了 20 分鐘,即使閱讀了手冊,似乎也不起作用。我不是開發人員,我從來沒有學過編碼,而是 2-3 小時的 SQL,因為我的作業需要它,現在幾乎每個白領作業都需要一些編碼技能。
桌子:
| Days | Category | Values |
| 2 | A | 20 |
| 4 | B | 50 |
| 6 | A | 100 |
| 2 | A | 70 |
| 1 | B | 220 |
| 9 | A | 130 |
| 7 | A | 45 |
| 1 | A | 90 |
| 5 | B | 280 |
| 5 | B | 10 |
| 8 | A | 70 |
| 9 | B | 50 |
| 0 | A | 120 |
| 3 | B | 115 |
| 0 | B | 25 |
| 3 | B | 10 |
| 6 | A | 55 |
我想得到的結果:
| Days | Category | Values |
| 0-4 | A | 300 |
| 0-4 | B | 420 |
| 5-9 | A | 400 |
| 5-9 | B | 340 |
根據我目前的知識,這是我能走多遠:
SELECT
Days, Category, Value
FROM
Table
GROUP BY
Days,
Category
但當然我不能創建日桶。你能幫我解決這個問題嗎?
uj5u.com熱心網友回復:
這可能會得到預期的結果
SELECT
CONCAT_WS('-', MIN(FLOOR(`Days` / 5)) * 5, MIN(FLOOR(`Days` / 5)) * 5 4) Days,
`Category`,
SUM(`Values`) "Values"
FROM data
GROUP BY FLOOR(`Days` / 5), Category
有資料
CREATE TABLE data (
`Days` INT,
`Category` VARCHAR(10),
`Values` INT
);
INSERT INTO data VALUES
('2','A','20'),('4','B','50'),('6','A','100'),('2','A','70'),('1','B','220'),('9','A','130'),('7','A','45'),('1','A','90'),('5','B','280'),('5','B','10'),('8','A','70'),('9','B','50'),('0','A','120'),('3','B','115'),('0','B','25'),('3','B','10'),('6','A','55');
uj5u.com熱心網友回復:
使用 DIV 運算子(DIV = 整數除法。從除法結果中丟棄小數點右側的任何小數部分):
SELECT CONCAT(
MIN(Days DIV 5) * 5,
' – ',
(MIN(Days DIV 5) 1) * 5 - 1
) AS Days,
Category,
SUM(`Values`) AS `Values`
FROM `Table`
GROUP BY Days DIV 5,
Category
sqlfiddle
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/362091.html
上一篇:我收到錯誤-**ThemethodgetAttribute(String)isundefinedforthetypeObject**,如何解決這個錯誤?
