当前位置:首页 » 编程语言 » 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,对应的列可能也有不同,看你的情况改吧。

热点内容
官方版的时空猎人怎么改密码 发布:2024-12-28 18:12:28 浏览:323
万能钥匙wifi破解不了密码怎么办 发布:2024-12-28 18:03:41 浏览:162
上传义乌购 发布:2024-12-28 17:57:59 浏览:280
python网络开发 发布:2024-12-28 17:56:36 浏览:511
androidisvisible 发布:2024-12-28 17:51:43 浏览:513
安卓系统如何卡游戏首充优惠 发布:2024-12-28 17:30:51 浏览:478
收银机密码忘了怎么办 发布:2024-12-28 17:24:57 浏览:653
开源服务器怎么登陆 发布:2024-12-28 17:22:47 浏览:268
微信无法清理缓存 发布:2024-12-28 17:19:34 浏览:19
哪个安卓相机和苹果差不多 发布:2024-12-28 16:52:34 浏览:187