groupby多个字段先后顺序(orderby多个字段排序)

http://www.itjxue.com  2023-01-25 09:11  来源:未知  点击次数: 

SQL语句中,如果有group by 和order by两个语句,是先分组还是先排序?

先进行分组处理。

Group By 和 Having, Where ,Order by这些关键字是按照如下顺序进行执行的:Where, Group By, Having, Order by。

首先where将最原始记录中不满足条件的记录删除(所以应该在where语句中尽量的将不符合条件的记录筛选掉,这样可以减少分组的次数)

然后通过Group By关键字后面指定的分组条件将筛选得到的视图进行分组

接着系统根据Having关键字后面指定的筛选条件,将分组视图后不满足条件的记录筛选掉

最后按照Order By语句对视图进行排序,这样最终的结果就产生了。

在这四个关键字中,只有在Order By语句中才可以使用最终视图的列名,如:

SELECT FruitName, ProductPlace, Price, ID AS IDE, Discount

FROM T_TEST_FRUITINFO

WHERE (ProductPlace = N'china')

ORDER BY IDE

这里只有在ORDER BY语句中才可以使用IDE,其他条件语句中如果需要引用列名则只能使用ID,而不能使用IDE。

请教,GROUP BY多列分组原理

是按group by 后面的字段先后排优先级的

group by A,B 即先按照A进行分组,A相同的,按B分组

group by B,A 即先按照B进行分组,B相同的,按A分组

数据库group by常识问题

1.group by 后面的字段不讲究顺序;

2.如何分组:

比如select a, b, c, d, count(*) from test_table group by a, b, c, d;

这个语句,按照 a, b, c, d 分组,这里的分组,指的是按照group by 后的字段列表分组,也就是 a, b, c, d 组合一致的为一组,所以这里的count 统计出的值是每种 a, b, c, d 组合的个数。

我想我说明白了。

mysql 问题,我按照某一个字段group by之后的数据的排序是怎么排的呢?

group by 字段 -----后面可以跟上asc 和desc

默认按照asc 升序,

desc 是降序

(责任编辑:IT教学网)

更多

推荐时间特效文章