我目前正在尝试检索灯光值并使用ajax饼图工具将它们排序为饼图。我真的需要帮助SQL语句来检索和计算不同的值集。
以下是我要检索的3组值:
1)检索并计算< 24
2)检索并计算24到30之间的lightValues
3)检索并计算>的lightValues。 30
饼图是我想要实现的结果。目前我正在使用原始数据来显示我想要实现的目标。
饼图图片
数据库图片:
答案 0 :(得分:4)
单程
select
count(case when lightvalue < 24 then 1 end),
count(case when lightvalue between 24 and 30 then 1 end),
count(case when lightvalue > 30 then 1 end)
from tbl
答案 1 :(得分:3)
您可以使用UNION ALL
:
SELECT 'less_than_24' AS group_name, COUNT(*) AS counter
FROM table_name
WHERE lightValue < 24
UNION ALL
SELECT 'from_24_to_30', COUNT(*) AS counter
FROM table_name
WHERE lightValue BETWEEN 24 AND 30
UNION ALL
SELECT 'more_than_30', COUNT(*) AS counter
FROM table_name
WHERE lightValue > 30;
的 LiveDemo
强>
输出:
╔═══════════════╦═════════╗
║ group_name ║ counter ║
╠═══════════════╬═════════╣
║ less_than_24 ║ 4 ║
║ from_24_to_30 ║ 2 ║
║ more_than_30 ║ 2 ║
╚═══════════════╩═════════╝