当前位置:首页 » 编程语言 » sql统计数量

sql统计数量

发布时间: 2022-02-06 19:46:21

‘壹’ sql统计多个字段值数量

分两步实现

  1. 按月汇总

  2. 行列转换

    请试一下,如有疑问,及时沟通!

  3. ----生成相应的技巧性文章
    createtable#maomao365
    (
    [姓名]nvarchar(30),
    [班级]nvarchar(20),
    [分数]int,
    [考试时间]date
    )
    go

    insertinto#maomao365(
    [姓名],[班级],
    [分数],[考试时间]
    )values
    ('张三','一班',89,'2019-1-1'),
    ('李四','二班',100,'2019-1-1'),
    ('王二','三班',60,'2019-1-1'),
    ('马子','四班',70,'2019-1-1'),
    ('maomao','一班',89,'2019-1-1'),
    ('小屋','二班',15,'2019-2-1'),
    ('sql','三班',69,'2019-2-1'),
    ('教程','四班',72,'2019-2-1'),
    ('宇宙','一班',63,'2019-3-1'),
    ('周猫猫','一班',50,'2019-4-1'),
    ('宙斯盾','二班',23,'2019-5-1'),
    ('潜水艇','三班',21,'2019-6-1'),
    ('其它','四班',20,'2019-7-1')
    go
    /*拼接字符串*/
    declare@sqlvarchar(max)
    set@sql='select*from
    (select[班级],
    [分数],month([考试时间])asmonthfrom#maomao365)asd
    pivot(sum([分数])for[month]
    in(
    ';/*动态组合列名*/
    declare@lieMingvarchar(7000)---定义动态生成列名存放变量
    declare@iint,@imaxint,@fieldvarchar(60)---定义临时循环变量
    declare@fieldListtable(keyIdintidentity,fieldvarchar(60))---定义临时表,存放待生成动态列名的数据
    insertinto@fieldList(field)selectdistinctmonth([考试时间])from#maomao365---生成列名数据

    -------------循环表生成列名start--------------
    set@lieMing=''
    set@i=1
    select@imax=max(keyId)from@fieldListt
    while@i<@imax
    begin
    select@[email protected]=@i
    ifisnull(@field,'')!=''
    begin
    if@lieMing!=''beginset@lieMing=@lieMing+','end
    set@lieMing=@lieMing+'['+@field+']';
    end
    set@i=@i+1
    end
    -------------循环表生成列名end--------------
    /*动态组合列*/

    set@sql=@sql+@lieMing+'))t;';---拼接sql语句

    print(@sql)

    exec(@sql)


    go
    truncatetable#maomao365
    droptable#maomao365
    go

‘贰’ Sql统计数量

select
学号,
count(1)
as
学生选课数
from
学生选课表
group
by
学号
一张表足以,根本不需要学生表,除非要显示学生姓名。
count函数是计算按照学号分组之后的行数,也就是一行是选了一门。
放到一张表里,如果是建好的表,那么
insert
into
表
select
学号,
count(1)
as
学生选课数
from
学生选课表
group
by
学号

‘叁’ SQL 统计数量

--表A和表B分开来统计,最后合并两个统计结果
时间在一个范围内用 时间A between '时间1' and '时间2'
由于不是很明白你的分组统计原则,所以group by语句暂时无法提供建议

‘肆’ SQL怎么统计个数

方法一:

SELECT SUM(正确数)+SUM(错误数) AS 总记录数,SUM(正确数),SUM(错误数)
FROM (
SELECT COUNT(1) 正确数,0 错误数
FROM TB
WHERE STATUS=1
UNION ALL
SELECT 0 正确数,COUNT(1) 错误数
FROM TB
WHERE STATUS=0) a

方法二:

select count(1)总记录数,sum(case when status=1 then 1 else 0 end)正确数,sum(case when status=0 then 1 else 0 end) 错误数 from T

‘伍’ sql语句统计数量,统计一个字段的值的数量

select type,count(*) as 总数量,
sum(case when level='一级' then 1 else 0 end) as 一级,
sum(case when level='二级' then 1 else 0 end) as 二级,
sum(case when level='三级' then 1 else 0 end) as 三级
from table group by type

楼上的应该改改吧

‘陆’ sql统计数量

select 部门名称,count(id) as '员工人数 ' from A inner join B on B.a_id=A.id

‘柒’ SQL怎么统计个数

不同数据库的系统表可能不一样,比如informix就是systables
的
tabname。
informix数据库:
统计个数:
select
count(*)
from
systables
where
tabname
like
'%abc%'
查看表:
select
tabname
from
systables
where
tabname
like
'%abc%'
其他数据库的话,系统表可能是sysobjects,对应的列可能也有不同,看你的情况改吧。

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:1384
制作脚本网站 发布:2025-10-20 08:17:34 浏览:1663
python中的init方法 发布:2025-10-20 08:17:33 浏览:1385
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:1512
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:1375
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1769
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:941
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:860
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:1502
python股票数据获取 发布:2025-10-20 07:39:44 浏览:1641