例如:
SELECT column1, column2+1  ,sum(column3)
FROM TABLE1 t
WHERE t.column1 like'%aa%'
GROUP BY column1,column2+1;
其中GROUP BY 子句必须加上column1和column2+1,可是现在我只想按照column1分组不可以吗?
即上述的SQL改为:
SELECT column1, column2+1  ,sum(column3)
FROM TABLE1 t
WHERE t.column1 like'%aa%'
GROUP BY column1
这样, 不可以吗?
为什么?

解决方案 »

  1.   

    不可以SELECT column1, column2后面必须是
    GROUP BY column1, column2
      

  2.   

    楼主第2个语句是有问题的,弄明白GROUP BY的原理就知道了,有空多研究下
      

  3.   

    为什么GROUP BY后面必须把选择列表中的列名和表达式都加进去啊?
    只按某一个选择列分组不可以吗?为什么吗?
      

  4.   

    GROUP BY的原理到底是什么样的啊?
      

  5.   


    SELECT column1, column2,sum(column3)后面必须是非sum列之外的所有列:
    GROUP BY column1, column2
      

  6.   


    column1,column2
    1,2
    1,3

    SELECT column1, column2
    GROUP BY column1

    结果是...
    所以不能这样用
      

  7.   

    还是不太明白GROUP BY 的原理。