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

sql统计字段数

发布时间: 2022-01-22 17:34:21

sql 查询怎么统计多个字段各自的个数

--所有算的地方都用cast(个数asint)
createtabletest05
(avarchar(10),
bvarchar(10),
cvarchar(10))

insertintotest05select'#','一','三'unionall
select'@','一','三'unionall
select'¥','一','二'unionall
select'%','二','二'
select*fromtest05

selectb,COUNT(b)个数fromtest05groupbyb
selectc,COUNT(c)个数fromtest05groupbyc

selectSUM(isnull(t1.个数,0)+isnull(t2.个数,0))总数,sum(isnull(t1.个数,0))个数,t1.b,sum(isnull(t2.个数,0))个数,t2.cfrom
(selectb,COUNT(b)个数fromtest05groupbyb)ast1fulljoin
(selectc,COUNT(c)个数fromtest05groupbyc)ast2ont1.b=t2.c
groupbyt1.b,t2.c

⑵ sql 怎么判断统计一个字段里有多少条数据呢

直接用 select count(字段名) from [表名]

⑶ sql如何进行多个字段的统计个数

一种查询SQL如下, 利用union获得b和c各自的统计结果, 然后再一次统计整合到最终结果:

selectsum(d.b_cnt)+sum(d.c_cnt)astotal_cnt,sum(d.b_cnt)asb_cnt,casewhensum(d.b_cnt)=0then''elsed.valendasb_label,sum(d.c_cnt)asc_cnt,casewhensum(d.c_cnt)=0then''elsed.valendasc_labelfrom(selectbasval,count(b)asb_cnt,0asc_,0,count(c)asc_cntfromAgroupbyc)dgroupbyd.val

SQLSerer上的测试结果(栏位次序有变化),

total_cnt为总数, b_label为b栏值, b_cnt为b栏个数, c_labe为c栏值, c_cnt为c栏个数.

这个结果跟字段是否为整型无关, 它是统计记录出现的次数.

⑷ SQL 统计数量

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

⑸ sql count 某个字段的个数

select 名称,count(名称) 个数 from table_name group by 名称

⑹ sql语句统计数量 统计一个字段出现的数量

1、创建测试表,

create table test_stu(id number, u_name varchar2(20), subject varchar2(20));

create table test_subj(id number, subject varchar2(20));

⑺ 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 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

楼上的应该改改吧

⑼ mysql一条sql怎么统计某个字段不同值的个数

以时间为跨度统计不同的值,在该时间出现的次数。

⑽ sql中如何统计一字段中字符串的个数

declare @s varchar(100)

set @s='156434A27kAsdABCiosd-01&**('

--找出现的次数

select len(@s)-len(replace(@s,'A',''))

SQL中字符串截取函数(SUBSTRING)

1、left(name,4)截取左边的4个字符

列:

SELECT LEFT(201809,4) 年

结果:2018

2、right(name,2)截取右边的2个字符

SELECT RIGHT(201809,2) 月份

结果:09

(10)sql统计字段数扩展阅读

sql中group by用法:

GROUP BY可以先从字面上来理解,GROUP表示分组,BY后面写字段名,就表示根据哪个字段进行分组,如果有用Excel比较多的话,GROUP BY比较类似Excel里面的透视表。

GROUP BY必须得配合聚合函数来用,分组之后可以计数(COUNT),求和(SUM),求平均数(AVG)等。

常用聚合函数:count()计数、sum()求和、avg()平均数、max()最大值、min()最小值。

SELECT 语句指定了两列(Customer 和 SUM(OrderPrice))。"SUM(OrderPrice)" 返回一个单独的值("OrderPrice" 列的总计),而 "Customer" 返回 6 个值(每个值对应 "Orders" 表中的每一行)。因此,我们得不到正确的结果。不过,您已经看到了,GROUP BY 语句解决了这个问题。