sql不用groupby怎么实现分组
时间: 2023-09-25 16:09:26 浏览: 86
如果不使用 GROUP BY 子句,可以使用子查询或者窗口函数来实现分组的效果。
使用子查询:
```
SELECT column1, COUNT(column2) as count
FROM table
WHERE column3 = 'condition'
AND column4 = 'condition'
AND column5 = 'condition'
AND column1 IN (SELECT DISTINCT column1 FROM table)
```
使用窗口函数:
```
SELECT DISTINCT column1, COUNT(column2) OVER (PARTITION BY column1) as count
FROM table
WHERE column3 = 'condition'
AND column4 = 'condition'
AND column5 = 'condition'
```
这些查询会根据 column1 进行分组,并且返回每组的计数。请注意,这些查询的执行效率可能不如使用 GROUP BY 子句的查询效率高。
阅读全文