SQL 在一行中计算子选择

SQL Subselect calculated in one row

我无法让 SQL select 工作。

我有一个 table - 以下是示例:

|id|name  |hits|
|1 |peter | 6  |
|2 |john  | 13 |
|3 |max   | 12 |
|4 |foo   | 8  |
|5 |bar   | 4  |

我想计算一个输出中每个条目低于 10 次点击和每个条目超过 10 次点击的总和。

如下所示:

|sum-over-10|sum-under-10|
| 25        | 18         |

我尝试了内部连接和外部连接,但我认为这是错误的方法。如果我做一个 subselect 它总是按主要 select.

过滤

不知道如何从这里开始:-) 将很高兴并感谢您的任何建议!

只使用条件聚合:

select sum(case when hits < 10 then hits else 0 end),
       sum(case when hits > 10 then hits else 0 end)
from t;

注意:结果不包括 hits = 10 所在的行。如果你想包含这些,你可能需要 <=>=