我知道如何计算不同列和日期范围中的值,但不是在我必须同时执行这两项操作时。
我有这个示例值的表:
Number | occurrences
03 | 1
04 | 2
05 | 2
06 | 2
07 | 2
08 | 2
09 | 1
现在我希望得到这样的结果用于选择数据范围(例如2017-08-02至2017-08-03):
{{1}}
如何在一个SQL查询中执行此操作?
答案 0 :(得分:1)
您可以使用子查询,然后使用普通GROUP BY
:
SELECT num, COUNT(*) AS Occurences
FROM (
SELECT date_col, Number1 AS num
FROM table_name
UNION ALL
SELECT date_col, Number2
FROM table_name
...
) AS sub
-- WHERE date_col BETWEEN ... AND ... --specific range
GROUP BY num
ORDER BY num;
无论如何,你应该重新考虑你的架构设计。