当前位置:首页 » 编程语言 » sql分组
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql分组

发布时间: 2022-01-31 17:06:52

sql分组语句

你的意思是 以 x1 为条件 查 字段2 吧? 这和分组有关吗?
按我的理解是这样的
select 字段2 字段3 from tablename where 字段3=x1
结果
B1 X1
B2 X1
B3 X1

⑵ SQL如何实现多组成绩的分组

select 课程号, max(成绩) 最高成绩,min(成绩) 最低成绩 from table group by 课程号

⑶ sql分组统计

方法和详细的操作步骤如下:

1、第一步,创建一个测试表,详细代码见下图,转到下面的步骤。

⑷ SQL语句中分组的作用是什么

聚合函数:sum-求和
avg-求平均值
max-求最大值
min-求最小值
count-求记录数
当使用这些函数时,如果不使用group by (分组)这句,则是对整个表做运算。加上分组子句,则在每个组的基础上运算。

⑸ SQL如何根据分数进行分组

select成绩,
casewhen成绩>=90then'A'when成绩>=80then'B'when成绩>=70then'C'else'D'endas`group`
from表;

Case具有两种格式。简单Case函数和Case搜索函数。

--简单Case函数

CASEsexWHEN'1'THEN'男'WHEN'2'THEN'女'ELSE'其他'END

--Case搜索函数

CASEWHENsex='1'THEN'男'WHENsex='2'THEN'女'ELSE'其他'END

该例中即可采用case搜索函数

⑹ SQL 分组

select
学生编号,学生姓名,sum(分数)
as
总分数
from
student
group
by
学生编号,学生姓名
学生编号分组放在姓名前面
这样即使姓名一样
但是学号不一样
还是2条值!~

⑺ sql分组查询

select 品名,时间 ,sum(数量),sum(数量1) from table group by 时间,品名

⑻ sql 分组统计

--SQL SERVER 2000 动态SQL。
declare @sql varchar(8000)
set @sql = 'select 姓名 '
select @sql = @sql + ' , max(case 课程 when ''' + 课程 + ''' then 分数 else 0 end) [' + 课程 + ']'
from (select distinct 课程 from tb) as a
set @sql = @sql + ' , cast(avg(分数*1.0) as decimal(18,2)) 平均分 , sum(分数) 总分 from tb group by 姓名'
exec(@sql)

普通行列转换
问题:假设有张学生成绩表(tb)如下:
姓名 课程 分数
张三 语文 74
张三 数学 83
张三 物理 93
李四 语文 74
李四 数学 84
李四 物理 94
想变成(得到如下结果):
姓名 语文 数学 物理
---- ---- ---- ----
李四 74 84 94
张三 74 83 93
-------------------
*/
create table tb(姓名 varchar(10) , 课程 varchar(10) , 分数 int)
insert into tb values('张三' , '语文' , 74)
insert into tb values('张三' , '数学' , 83)
insert into tb values('张三' , '物理' , 93)
insert into tb values('李四' , '语文' , 74)
insert into tb values('李四' , '数学' , 84)
insert into tb values('李四' , '物理' , 94)
go

--SQL SERVER 2000 静态SQL,指课程只有语文、数学、物理这三门课程。(以下同)
select 姓名 as 姓名 ,
max(case 课程 when '语文' then 分数 else 0 end) 语文,
max(case 课程 when '数学' then 分数 else 0 end) 数学,
max(case 课程 when '物理' then 分数 else 0 end) 物理
from tb
group by 姓名

⑼ SQL语句分组怎么写

1.如果你的时间格式是2012-01-13 17:35:52.217这样的形式,(主要是那个01不要是1),用下面这个 SELECT convert(varchar(10),时间,23),SUM(数字数据) FROM 表 group by convert(varchar(10),时间,23) 2.如果你的时间格式不是上面的格式,先转化成datetime: SELECT convert(varchar(10),cast(时间 as datetime),23) ,SUM(数字数据) FROM 表 group by convert(varchar(10),cast(时间 as datetime),23) 3.如果报错,请追问~

⑽ sql语句 如何分组后得到记录总数

SELECT COUNT(*)

FROM (SELECT 分组字段 FROM 表

GROUP BY 分组字段

)别名


或者

SELECT COUNT(*)

FROM (SELECT distinct 分组字段 FROM 表)别名

(10)sql分组扩展阅读:

SQL分组查询

在SQL Server中使用的分组查询是ORDER BY子句,使用ORDER BY子句要同聚合函数配合使用才能完成分组查询,在SELECT查询的字段中如果字段没有使用聚合函数就必须出现在ORDER BY子句中(即SELECT后边的字段名要么出现在聚合函数中,要么在ORDER BY子句中使用)

在分组查询中还可以配合使用HAVING子句,定义查询条件。

使用group by进行分组查询

在使用group by关键字时,在select列表中可以指定的项目是有限制的,select语句中仅许以下几项:

1、被分组的列

2、为每个分组返回一个值得表达式,例如用一个列名作为参数的聚合函数

3、group by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面