mysql - 进行这样的分组的查询是什么?
问题描述
我有一个看起来像这样的表:
| order_id | 数量 |
| -------- | --- |
| 00001 | 27 |
| 00002 | 17 |
我想做这样的东西
| order_id | 数量 | 20 | 5 | 3 | 1 |
| -------- | --- | -- | - | - | - |
| 00001 | 27 | 1 | 1 | 0 | 2 |
| 00002 | 17 | 0 | 3 | 0 | 2 |
有谁知道查询以进行这样的分组?提前致谢
解决方案
通过减少来计算每一列(因为想要一个更好的词)
SET @N = 18;
SELECT FLOOR(@N/20) '20',
FLOOR((@N-(FLOOR(@N/20)*20))/5) '5',
FLOOR((@N-((FLOOR(((FLOOR(@N/20)*20)))) +
((FLOOR((@N-(FLOOR(@N/20)*20))/5)) *5))
) / 3) '3'
;