0

我有一个企业列表,有很多列,但这些是重要的:

| name     |stars | review_count |
| -------- | -----| -----------  |
| First    | 3.0  |        1235  |
| Second   | 4.4  |          45  |
| third    | 2.5  |         123  |    

所以想用它的星星值来增加它,比如

|stars  | review_count |
| ----- |  ----------- |
|  < 3  |         1358 |
|  >=3  |           45 |

我试过了

select sum(review_count), stars
from business 
group by (2<=stars and stars <3)  or stars >3

但没有奏效。

4

1 回答 1

0

您可以使用CASE表达式创建 2 个组并按以下方式分组:

SELECT CASE WHEN stars < 3 THEN '<3' ELSE '>=3' END stars, 
       SUM(review_count) review_count 
FROM business 
GROUP BY 1;

请参阅演示

于 2021-09-18T20:09:49.790 回答