显示3列的最小值

时间:2016-01-21 08:26:40

标签: sql oracle

我有如下表格

**Date        col1  col2  col3** 
1-jan-2016    -98    25     15
19-jan-2016    25    -79    20
25-dec-2015   -12    24     89

我必须找到col1,col2,col3的最小值,并显示该记录的日期。

在这种情况下,我的结果应该是1-jan-2016 -98

2 个答案:

答案 0 :(得分:0)

您可以使用LEAST函数

以这种方式在plsql中执行此操作
  declare
  cursor c1 is select date_column,least(col1, col2, col3) least_value from yourtable;
  BEGIN
  FOR a in c1 LOOP
  dbms_output.put_line(a.date_column || ' ' || a.least_value);
  end loop;
  end;

您也可以在简单的SQL中执行此操作:

 select x.date_column, x.least_value from 
        (select date_column, least(col1, col2, col3) least_value from yourtable) x
            where x.least_value = (select min(least_value) from  
                                      (select least(col1, col2, col3) least_value from yourtable))

答案 1 :(得分:0)

您可以在col1,col2和col3,MIN之间使用LEAST从所有行中获取最低值并使用MIN .... KEEP以获取与该最小值关联的日期列。

if (Minecraft.getMinecraft().gameSettings.keyBindJump.pressed) {
  Timer t = new Timer(2000, new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
      Minecraft.getMinecraft().thePlayer.motionY += 8;
    }
  });
  t.start();
}