oracle怎么把多行数据合并成一行
时间: 2024-09-10 18:20:36 浏览: 100
Oracle数据库中,可以使用`UNION ALL`, `GROUP BY`和`CASE`等SQL语句来合并多行数据到一行。以下是几种常见的方法:
1. **使用UNION ALL**:
如果你想合并两个表中完全不重复的行,可以使用`UNION ALL`。例如:
```sql
SELECT column1, column2 FROM table1
UNION ALL
SELECT column1, column2 FROM table2;
```
2. **使用GROUP BY和SUM/COUNT**:
如果需要汇总某一列的数据,比如求和或计数,可以结合`GROUP BY`:
```sql
SELECT column1, SUM(column2) as total_column2
FROM table
GROUP BY column1;
```
3. **使用CASE表达式**:
可以创建一个新的字段,根据条件将值聚合:
```sql
SELECT column1,
MAX(CASE WHEN condition THEN value ELSE NULL END) as max_value,
MIN(CASE WHEN condition THEN value ELSE NULL END) as min_value
FROM table
GROUP BY column1;
```
这里,`condition`是你想要合并的特定条件。
阅读全文