[英]sql select min, return value from different column in same row with grouping
[英]select min value in same row in sql
我想在不同列的同一行中选择日期的最小值。
例如
column1 column2 column3
2017-01-26 2017-01-28 2017-01-27
在以上三列中,我想选择最小日期,即选择结果应为2017-01-26
大多数数据库都支持least()
和greatest()
:
select least(column1, column2, column3) as min_column,
greatest(column1, column2, column3) as max_column
在任何数据库中,都可以使用ANSI标准case
作为逻辑:
select (case when column1 >= column2 and column1 >= column3 then column1
when column2 >= column3 then column2
else column3
end) as max_column
(然后,最小逻辑类似。)
如果使用SQL Server,则可以使用以下方法:
SELECT (SELECT MIN(columnX) FROM (VALUES(column1), (column2), (column3)) x(columnX))
FROM ...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.