【发布时间】:2010-05-31 21:56:28
【问题描述】:
我在一个表中有三列 - ID、Column1、Column2 - 使用此示例数据:
ID Column1 Column2
----------------------
1 1 2
2 2 1
3 4 3
4 3 4
由于在前两行中,Column1 和 Column2 具有相同的值(但在不同的列中),我希望我的 MAX 查询返回 ID 2。第 3 行和第 4 行也是如此......因为 Columns 1 和 2 具有相同的值(但在不同的列中),我希望 MAX(ID) 返回 4。当然,对于 MAX,您使用 Group By,但这在我的情况下不起作用。
实际上,我需要一个 Group By 来跨两列工作。 这可能吗?如果没有,在给定不同列中的匹配值的情况下,完成获取 2 和 4 的 ID 的最佳方法是什么?
【问题讨论】:
-
对于什么数据库? MySQL、Oracle 和 Postgres 都支持 GREATEST 函数
标签: sql sql-server tsql