table: test
column1 column2
  a       10
  b       40
  a       30
  b       2
上面的表需要检索出如下数据,把a的最大值检索出来,b的最大值检索出来,列在一起
column1 column2
  a       30
  b       40
select语句如何写?

解决方案 »

  1.   

    select column1,max(column2) from test group by column1
      

  2.   

    ORA-00979 不是group by 表达式
      

  3.   

    不可能,你的原SQL是什么?如果select项中比现在的多就不是这样写的了,group by里的列要跟select里列出的列一样才行
      

  4.   

    select column1,max(column2) from test
      

  5.   

    select max(column1),max(column2) from test 
    这样就可以了
      

  6.   

    SQL> select b1,b3 from b;B1                B3
    ---------- ---------
    emp1               3
    emp1               8
    emp1               2
    emp2               9
    emp2               5Executed in 0.016 secondsSQL> select b1,max(b3) from b group by b1;B1            MAX(B3)
    ---------- ----------
    emp1                8
    emp2                9Executed in 0.016 secondsSQL> select b1,max(b3),min(b3) from b group by b1;B1            MAX(B3)    MIN(B3)
    ---------- ---------- ----------
    emp1                8          2
    emp2                9          5Executed in 0 secondsSQL>
      

  7.   

    我把意思理解错了,按照搂住的意思sasacat(傻傻猫) 的应该没问题。
      

  8.   

    to:sasacat(傻傻猫)
    虽然我理解错了,但我的语法没有一点问题