当前位置:首页 » 编程语言 » sql表分组

sql表分组

发布时间: 2022-02-24 19:19:48

A. sql如何多表分组统计一起显示

这样改试一下:
select * from (
SELECT qw, COUNT(qw) AS a1 FROM mrmxb GROUP BY qw union
SELECT bw, COUNT(bw) AS a1 FROM mrmxb GROUP BY bw union
SELECT sw, COUNT(sw) AS a1 FROM mrmxb GROUP BY sw union
SELECT gw, COUNT(gw) AS a1 FROM mrmxb GROUP BY gw ORDER BY 2)derivedtbl

看行不行。

B. 使用sql分组并且查询出多张表

--建表
CreateTableT
(
idintidentity(1,1),
CreateDateDatetime
)

--插入数据
insertintoT(CreateDate)values('2014-05-01')
insertintoT(CreateDate)values('2015-06-02')
insertintoT(CreateDate)values('2016-07-03')
insertintoT(CreateDate)values('2014-08-04')
insertintoT(CreateDate)values('2014-09-05')
insertintoT(CreateDate)values('2015-10-06')
insertintoT(CreateDate)values('2016-10-04')
insertintoT(CreateDate)values('2014-12-08')

--查询
Declare@sqlVarchar(8000)=''
Select@sql=@sql+'Select*FromTWhereyear(createdate)='+Cast(YAsVarchar(4))+';'
From
(
SelectDistinctYEAR(CreateDate)AsYFromT
)s
exec(@sql)

--如果需要生成新的表,这样就可以了
Declare@sqlVarchar(8000)=''
Select@sql=@sql+'Select*into['+Y+']FromTWhereyear(createdate)='+Y+';'
From
(
SelectDistinctCast(YEAR(CreateDate)AsVarchar(4))AsYFromT
)s
exec(@sql)


C. 怎样将SQL中的表按照分组排列

http://..com/question/305464467.html
一样的问题
参看上面链接那个吧

D. 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 姓名

E. SQL多表分组查询

selectt1.*,t2.English
from
(selecta.id,a.name,a.address,MAX(b.Chinese)Chinesefromstudenta,Scoreb
wherea.id=b.idgroupbya.id,a.name,a.address)t1,
scoret2
wheret1.id=t2.idandt1.Chinese=t2.Chinese

F. sql分组统计

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

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

G. sql 分组编序号

题主你已经把SQL文写出来了,既然谁时间早排前面,那你把desc去掉就行了。

SELECT*FROM(SELECTROW_NUMBER()OVER(PARTITIONBYSUBSTRING(CONVERT(varchar(100),Time,20),0,11)ORDERBYTime)ASxh,*FROMdbo.表)T

我用的oracle数据库,sql文如下:

SELECT*FROM(SELECTROW_NUMBER()OVER(PARTITIONBYto_char(t.time,'yyyy-mm-dd')ORDERBYTime)ASxh,t.*FROMtestt)

H. SQL 分组

select t1.name,t1.grade,sum(t2.chengji) as chengji from t1,t2 where t1.id=t2.id group by t1.name,t1.grade

I. SQL数据分组汇总

你没说什么数据库,,,

提供sqlserver的方法


SELECTLEFT(c,CHARINDEX('-',c)-1),sum(d)
from表
groupbyLEFT(c,CHARINDEX('-',c)-1)

J. sql语句怎么对一张数据表进行分组

declare @n int
declare @i int
declare @sql varcahr(2000)

select @n=count(*) from tb
group by 班级

set @i=0
set @sql=''
where @i<@n
begin
set @sql = 'create table tb'+@i+'('+
' 班级 varchar(10),成绩 int)'
end
exec(@sql)

--有多少个班级,就创建多少个表,然后再用游标将各个班的成绩插入到不同的表里

热点内容
java如何运行程序 发布:2025-01-10 07:25:53 浏览:562
冒险岛电脑连接服务器失败 发布:2025-01-10 07:23:01 浏览:823
安卓开发要学什么语言 发布:2025-01-10 07:21:30 浏览:20
绍兴编程培训 发布:2025-01-10 07:16:53 浏览:300
java接口和类 发布:2025-01-10 07:09:14 浏览:403
discuzforlinux安装 发布:2025-01-10 07:09:10 浏览:229
招行支票密码器口令是多少 发布:2025-01-10 06:55:27 浏览:353
好的解压拓展实力怎么样 发布:2025-01-10 06:49:18 浏览:699
租服务器会自带公网ip么 发布:2025-01-10 06:49:17 浏览:348
mfc中ftp上传与下载 发布:2025-01-10 06:47:06 浏览:349