基督城里
order by 和 group by 的区别:
1,order by 从英文里理解就是行的排序方式,默认的为升序。 order by 后面必须列出排序的字段名,可以是多个字段名。
2,group by 从英文里理解就是分组。必须有“聚合函数”来配合才能使用,使用时至少需要一个分组标志字段。
3,在使用group by的语句中,只能select用于分类的列(表达式),或聚合函数。where条件用于group by之前,having用于group by 之后对结果进行筛选。
扩展资料:
一、order by用法: 排序查询、asc升序、desc降序
示例:
1.select * from 学生表
2.order by 年龄
3.查询学生表信息、按年龄的升序(默认、可缺省、从低到高)排列显示也可以多条件排序、 比如 order by 年龄,成绩 desc
4.按年龄升序排列后、再按成绩降序排列。二、group by用法: 分组查询、having 只能用于group by子句、作用于组内,having条件子句可以直接跟函数表达式。使用group by 子句的查询语句需要使用聚合函数。
示例:
1.select 学号,SUM(成绩) from 选课表 group by 学号 按学号分组、查询每个学号的总成绩
2.select 学号,AVG(成绩) from 选课表
3.group by 学号
4.having AVG(成绩)>(select AVG(成绩) from 选课表 where 课程号='001')
5.order by AVG(成绩) desc
6.查询平均成绩大于001课程平均成绩的学号、并按平均成绩的降序排列。
参考资料:
百度百科- 结构化查询语言
安吉拉pig
order by 是按表中某字段排列表中数据。
group by 是按某些字段分类。
以下是详细区别:
1、排序方式不一样:
order by是指按字段排序;
group by是指按字段分类 。
2、命令格式优先顺序不一样:
order by要滞后;
group by要优先。
3、含义不一样:
Group By是分组的意思,Order By是按顺序的意思。
4、使用的函数不一样:
Group By是汇总查询,使用时至少需要一个分组标志字段,一般与聚合函数(比如sum合计、count计算行、avg平均)一起使用。
Order By是排序查询,用于对指定列结果集的排序,排序内容可以是数字或者文字,其中DESC是降序,ASC是升序。
5、定义不一样:
order by主要侧重许多数据的排序,例如按照大小顺序对数据进行排列;
group by主要侧重许多数据的分组,例如按照性别、年龄、国家、学科等进行分组。
SQL使用技巧代码大全:
1、编辑
1=1,1=2的使用在SQL语句组合时用的较多,“where 1=1”是表示选择全部 “where 1=2”全部不选。
如:if @strWhere !='begin
set @strSQL = 'select count(*) as Total from [' + @tblName + '] where ' + @strWhere
end else begin set @strSQL = 'select count(*) as Total from [' + @tblName + ']' end
set @strSQL='select count(*) as Total from tablename where 1+1'
if(@strWhere!='')
{set @strSQL=@strSQL+’and’+strWhere}
2、收缩数据库
(1)重建索引 :
DBCC REINDEX
DBCC INDEXDEFRAG
(2)收缩数据和日志:
DBCC SHRINKDB
DBCC SHRINKFILE
(3)压缩数据库:
dbcc shrinkdatabase(dbname)
(4)转移数据库给新用户以已存在用户权限:
exec sp_change_users_login 'update_one','newname','oldname' go
(5)检查备份集:
RESTORE VERIFYONLY from disk='E:\dvbbs.bak'
(6)修复数据库:
Alter DATABASE [dvbbs] SET SINGLE_USER GO
DBCC CHECKDB('dvbbs',repair_allow_data_loss) WITH TABLOCK GO
Alter DATABASE [dvbbs] SET MULTI_USER GO
百度百科-结构化查询语言
花葬夏季
1、适用范围不同:
order by 用于排序,一般与asc升序或desc降序一起使用。例如select * from 表A order by 列a。group by 用于分类汇总,一般与聚合函数一起使用。
2、定义不同:
order by主要侧重许多数据的排序,例如按照大小顺序对数据进行排列,group by主要侧重许多数据的分组,例如按照性别、年龄、国家、学科等进行分组。
3、主要用途不同:
order by 是按表中某字段排列表中数据。group by 是按某些字段分类。
扩展资料
order by的用法:
首先,order by是用来写在where之后,给多个字段来排序的一个DQL查询语句。
其次,order by写法:
1、select 字段列表/* from 表名 where 条件 order by 字段名1 asc/desc, 字段名2 asc/desc,.......
2、select 字段列表/* from 表名 where 条件 order by 字段序号 asc/desc, 字段序号 asc/desc,.......(此时字段序号要从1开始)
然后,order by的方式:
1、asc 升序,可以省略,是数据库默认的排序方式。
2、desc 降序,跟升序相反。
最后要注意order by的原则,写在最前面的字段,他的优先级最高,也就是写法中第一个的字段名1的优先级最高,优先执行他的内容。
静妙奔奔1123
降序SELECT*FROMkcORDERBYcpbhDESC升序SELECT*FROMkcORDERBYcpbhasc实例:/*查询学生表中姓名、学号,并以学号降序排序*/selectname,StuIDfromStudents_informationorderbyStuIDdesc /**orderby以什么排序,默认为升序,desc是降序*//*查询学生表中前5名学生的姓名,学号,并以学号升序排列*/selecttop5name,StuIDfromStudents_informationorderbyStuID /*orderby默认为升序*/扩展资料ORDERBY语句:ORDERBY语句用于根据指定的列对结果集进行排序。ORDERBY语句默认按照升序对记录进行排序。实例:1,AddTime升序,ID升序select*fromDS_FinanceORDERBYAddTime,ID; 2,AddTime升序,ID降序select*fromDS_FinanceORDERBYAddTime,IDDESC;3,AddTime降序,ID升序select*fromDS_FinanceORDERBYAddTimeDESC,ID;4,AddTime降序,ID降序select*fromDS_FinanceORDERBYAddTimeDESC,IDDESC; 参考资料:搜狗百科-结构化查询语言