oracle 取两列的最大值
时间: 2024-10-08 21:05:30 浏览: 29
oracle中distinct的用法详解
在Oracle数据库中,如果你想要从一张表中取两个列的最大值,你可以使用`MAX()`函数结合`CASE`语句或者直接创建一个联合查询。以下是两种方法:
1. **使用CASE语句**:
```sql
SELECT MAX(CASE WHEN column1 > column2 THEN column1 ELSE column2 END) as max_value
FROM table_name;
```
这里假设`column1`和`column2`是你想比较的两列,`table_name`是表名。这个查询会选择其中较大的数值。
2. **创建联合查询**:
```sql
SELECT MAX(column1) AS max_column1,
MAX(column2) AS max_column2
FROM (
SELECT column1, column2
FROM table_name
)
UNION ALL
SELECT NULL, column2
FROM table_name
UNION ALL
SELECT column1, NULL
FROM table_name;
```
这种方法通过将两列分别与其他表联接,然后取每个部分的最大值,最后再合并结果。
阅读全文