order by :
order by 从英文里理解就是行的排序方式,默认的为升序。 order by 后面必须列出排序的字段名,可以是多个字段名。
例如:select * from user order by id desc,name asc,classId desc;//多字段排序
group by :
group by 从英文里理解就是分组。必须有“聚合函数”来配合才能使用,使用时至少需要一个分组标志字段。
什么是“聚合函数”?
像sum()、count()、avg()等都是“聚合函数”
使用group by 的目的就是要将数据分类汇总。
一般如:
select 单位名称,count(职工id),sum(职工工资) form [某表]
group by 单位名称
这样的运行结果就是以“单位名称”为分类标志统计各单位的职工人数和工资总额。
在sql命令格式使用的先后顺序上,group by 先于 order by。
select 命令的标准格式如下:
SELECT select_list
[ INTO new_table ]
FROM table_source
[ WHERE search_condition ]
[ GROUP BY group_by_expression ]
[ HAVING search_condition ]
[ ORDER BY order_expression [ ASC | DESC ] ]
这两个是很像.
order by是按指定的列的升序或降序来给查询结果排序,
它不需要查询结果中出现order by的栏位.
更改Order by里的栏位只会影响查询结果的顺序,而不影响查询出的记录总数,和每条记录的内容.
group by是按指定的列对满足Where条件的所有记录分组,并对组内的一些数值型栏位计算出每组的一个统计指标,如求和、求个数、求平均值、求最大值、求最小值、、、、、、、
它对查询结果有个要求:查询结果中的出现的栏位必须是Group by中栏位的子集。
更改Group by里栏位的顺序不会对查询结果有任何影响;
但是更改Group by的栏位,会对查询得到的记录数量,以及各个汇总函数的结果造成影响。
sql语句Group By用法一则
#####总结:当我们选不只一个栏位,且其中至少一个栏位有包含函数的运用时,我们就需要用到 GROUP BY 这个指令。在这个情况下,我们需要确定我们有 GROUP BY 所有其他的栏位。换句话说,除了有包括函数的栏位外,我 们都需要将其放在 GROUP BY 的子句中
-----------------------------------------------------------------------------------------------------------------------------------------------
几种错误的写法:
1.
select count(*),sum(t.money) from t_phone_sale t;
select t.bussiness_id, count(*),sum(t.money) from t_phone_sale t;//错误,要查询的列不光只有聚合函数时,必须使用group by
2.
select t.bussiness_id, count(*),sum(t.money) from t_phone_sale t group by t.bussiness_id;
select t.bussiness_id, count(*),sum(t.money) from t_phone_sale t group by t.sale_num;//错误,选择列必须出现在group by中
----------------------------------------------------------------------------------------------------------------------------------------------
如果我们的需求变成是要算出每一间店 (store_name) 的营业额 (sales),那怎么办呢?在这个情况下,我们要做到两件事:第一,我们对于 store_name 及 Sales 这两个栏位都要选出。第二,我们需要确认所有的 sales 都要依照各个 store_name 来分开算。这个语法为:
SELECT "栏位1", SUM("栏位2") FROM "表格名" GROUP BY "栏位1"
在我们的示范上,
Store_Information 表格
store_name |
Sales |
Date |
Los Angeles |
$1500 |
Jan-05-1999 |
San Diego |
$250 |
Jan-07-1999 |
Los Angeles |
$300 |
Jan-08-1999 |
Boston |
$700 |
Jan-08-1999 |
我们就打入, SELECT store_name, SUM(Sales) FROM Store_Information GROUP BY store_name
结果:
store_name |
SUM(Sales) |
Los Angeles |
$1800 |
San Diego |
$250 |
Boston |
$700 |
分享到:
相关推荐
与 `OrderBy` 类似,`OrderByDescending` 用于降序排序。 **示例:** ```csharp var sortedEmployeesDesc = db.Employees.OrderByDescending(e => e.FirstName); ``` **3. ThenBy** 当存在多个排序条件时,可以...
oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视...
- **GroupBy 分组**:根据键将集合分组。 - **Join 联合查询**:将两个集合进行联合查询。 - **GroupJoin**:用于创建一个外联接查询。 - **Take 获取集合的前n个元素**:获取集合的前n个元素。 - **Skip 跳过集合的...
- **排序和分组(Ordering and Grouping)**:如`OrderBy`、`GroupBy`等用于排序和分组数据的操作。 - **元素运算符、集合方法、量词方法**:如`First`、`Last`、`Count`等用于操作集合的方法。 - **集合运算符、Zip...
3,图文并茂,化繁为简,让知识通俗易懂,不再抽象 4,以实际企业业务需求讲解,让学生学有所用,学完即可上手BI 适用人群 1、对大数据感兴趣的在校生及应届毕业生。 2、对目前职业有进一步提升要求,希望从事...
本教程重点解读了WHERE子句、ORDER BY子句、GROUP BY子句和HAVING子句的作用及用法,使读者能够根据实际需求灵活组合子句,提高查询的精确度和效率。此外,还介绍了子句的综合应用技巧,帮助读者解决复杂的查询问题...
此外,还讲解了WHERE子句、STARTING WITH、ORDER BY、GROUP BY和HAVING子句等用于数据筛选和排序的SQL语法。 在数据定义方面,介绍了如何创建和管理数据库对象,例如如何使用CREATE DATABASE和CREATE TABLE语句创建...
学会使用WHERE、GROUP BY、ORDER BY和HAVING子句,能帮助你高效地处理数据查询。 3. **数据类型**:理解MySQL支持的各种数据类型,如INT、VARCHAR、DATE、TIME和DECIMAL,对于设计合适的数据表结构至关重要。合理...
但根据标题“SQL操作指南”,描述“本书包含SQL基础入门、中级SQL的操作方法,通俗易懂,为内部培训资料,非常适合初学者,强烈推荐”以及标签“SQL”,我可以提供关于SQL基础和中级操作的知识点。 知识点如下: ...
作者Robert Vieria是Microsoft SQL,Server方面的权威,他采用通俗易懂的方法揭示了SQL Server-2008核心组件的重要更改。 《SQL Server 2008编程入门经典(第3版)》首先概述了数据库设计的概念,介绍了如何用SQL Set...
作者Robert Vieria是Microsoft SQL,Server方面的权威,他采用通俗易懂的方法揭示了SQL Server-2008核心组件的重要更改。 《SQL Server 2008编程入门经典(第3版)》首先概述了数据库设计的概念,介绍了如何用SQL Set...