数据库分组聚合Group by用法理解
关于group by的理解,为什么不能够select * from Table group by id,而只能select某一个列或者某个列的聚合函数?多个字段的group by怎么来理解?关键字where、group by、having、order by的书书写顺序和执行顺序又是怎样的?下面先来分析下group by的分组聚合原理。先来看下表1,表名为test: 表1执行如下SQL语句:12SELECT name FROM testGROUP BY name 你应该很容易知道运行的结果,没错,就是下表2: 表2 可是为了能够更好的理解“group by”多个列“和”聚合函数“的应用,我建议在思考的过程中,由表1到表2的过程中,增加一个虚构的中间表:虚拟表3。下面说说如何来思考上面SQL语句执行情况:1.FROM test:该句执行后,应该结果和表1一样,就是原来的表。2.FROM test Group BY name:该句执行后,我们想象生成了虚拟表3,如下所图所示,生成过程是这样的:group by name,那么找name那一列,
资源类型:技术博文发布者:anonymous发布时间:2007-10-26