2017-01-26 12 views
0

異なる列の同じ行にある日付の最小値を選択したいとします。SQLの同じ行で最小値を選択

上記の3つの列で

column1  column2  column3 
2017-01-26 2017-01-28 2017-01-27 

私は2017-01-26

+0

をデータベースタイプ+バージョン –

+0

にタグを追加してください使用しているデータベースにタグを付けてください。 。 –

答えて

2

ほとんどのデータベースは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 

(。そして分間、その後同様のロジック)

1

SQL Serverを使用する場合は、この方法を使用することができます

SELECT (SELECT MIN(columnX) FROM (VALUES(column1), (column2), (column3)) x(columnX)) 
FROM ... 
関連する問題