- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我尝试执行以下查询时,它给出了正确的结果,但我想动态显示范围
SELECT
CASE
WHEN points <= 25 THEN '0-25'
WHEN points BETWEEN 25 AND 50 THEN '25-50'
WHEN points BETWEEN 50 AND 75 THEN '50-75'
WHEN points BETWEEN 75 AND 100 THEN '75-100'
ELSE '> 100'
END AS `Range`
,COUNT(*) AS `Count`
,CASE
WHEN points <= 25 THEN 1
WHEN points BETWEEN 25 AND 50 THEN 2
WHEN points BETWEEN 50 AND 75 THEN 3
WHEN points BETWEEN 75 AND 100 THEN 4
ELSE 5
END AS `Sort`
FROM (
SELECT user_id, SUM(points) as points
FROM tbl
GROUP BY user_id
) AS summary
GROUP BY `Range`, `Sort`
输出
+--------+-------+
| Range | Count |
+--------+-------+
| 0-20 | 01 |
| 25-50 | 02 |
| 50-75 | 01 |
| 75-100 | 04 |
| > 100 | 00 |
+--------+-------+
我从另一个表的以下值中获得 100 值
从 tbl1 中选择最小值(点),其中 1 LIMIT 0,1
如果最小值为 100,则输出将为:
输出
+--------+-------+
| Range | Count |
+--------+-------+
| 0-20 | 01 |
| 25-50 | 02 |
| 50-75 | 01 |
| 75-100 | 04 |
| > 100 | 00 |
+--------+-------+
如果最小值为 500,则输出将为:
输出
+---------+-------+
| Range | Count |
+---------+-------+
| 0-100 | 01 |
| 100-200 | 02 |
| 300-400 | 01 |
| 400-500 | 04 |
| > 500 | 00 |
+---------+-------+
提前致谢
最佳答案
SELECT CASE WHEN points <= range1 THEN CONCAT('0-', range1)
WHEN points <= range2 THEN CONCAT(range1, '-', range2)
WHEN points <= range3 THEN CONCAT(range2, '-', range3)
WHEN points <= range4 THEN CONCAT(range3, '-', range4)
ELSE CONCAT('> ', range4)
END AS `Range`
,COUNT(*) AS `Count`
,LEAST(5, GREATEST(1, CEIL(points/range1))) AS Sort
FROM (SELECT user_id, SUM(points) as points
FROM tbl
GROUP BY user_id
) AS summary
JOIN (SELECT FLOOR(MIN(points)*.25) range1, FLOOR(MIN(points)*.50) range2, FLOOR(MIN(points)*.75) range3, MIN(points) range4 FROM tbl1) x
GROUP BY `Range`, `Sort`
请注意,您不需要使用 BETWEEN
在 WHEN
条款。这些子句按顺序进行测试,因此如果它超过 points <= 25
,它必须大于25
并且没有必要在下一个子句中明确测试这一点。
关于mySQL - 使用动态范围在不同范围内计算用户的总点数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19582367/
我有一个问题需要分而治之解决。有一个包含 N 个点的集合 S。如果有一个平行于轴的正方形,只包含S中的两个点p1和p2,则我们称p1和p2为 friend 点。 现在,我需要使用分而治之算法来计算 S
为 iPad 编程时,字体(和其他)大小以“磅”为单位指定。我已经看到将点作为独立于屏幕分辨率的像素的引用。但是我无法确定一个点的实际大小(即以英寸为单位)。一个点是否等于标准 iPad 屏幕上的一个
我有一个来自 Hadley Wickham 的 ggplot2 书中的问题。 我在这里有这个数据框: class % group_by(class) %>% summarise(n = n
好的,这是一些代码( pdfDocument 是 com.itextpdf.text.Document ): PdfPTable table = new PdfPTable(1); PdfPCell
我正在尝试添加一个 if 语句,如果小于 17,则将另一张牌添加到 DealerHand 中。 目前,它只是记录: 7 19 [ { suit: '♦', value: 9, points: 9 },
我正在编写一个程序,我需要: 对图像的每个像素进行测试 如果测试结果为真,我必须向点云中添加一个点 如果测试结果为假,什么都不做 我已经在 CPU 端 C++ 上编写了一个工作代码。现在我需要使用 C
我是一名优秀的程序员,十分优秀!