Ⅰ sql 统计字段值的数量
用分组,组内计数就可以了,意思就是根据字段a的取值进行分组,相同的为一组,在用count进行组内计数select
a,count(*)from
agroup
by
a
Ⅱ SQL查询字段数量
select COUNT(a.name) from sys.all_columns a,sys.tables b
where a.object_id=b.object_id and b.name='table_name'
Ⅲ sql 查询某一字段值的个数
select字段1,count(字段2)个数
fromtabname
groupby字段1
Ⅳ sql 查询 不同字段的数量
请参考下列sql语句:
select
(select count(*) from tblName
where type=100) as QtyAt100,
(select count(*) from tblName
where type=101) as qtyAt101;
或者
select
sum(case type when 100 then 1 else 0 end) as QtyAt100,
sum(case type when 101 then 1 else 0 end) as QtyAt101 from tblName
where type=100 or type=101;
Ⅳ sql中怎么统计一个字段的数量
sqlserver为例
创建表及插入数据
create table 姓名表(id int,u_name varchar(10),subject varchar(10))create table 科目表(id int,s_name varchar(10))insert into 姓名表 values (1,'张三','英语')insert into 姓名表 values (2,'李四','德语')insert into 姓名表 values (3,'王五','日语')insert into 姓名表 values (4,'小明','英语')insert into 姓名表 values (5,'小狗','法语')insert into 科目表 values (1,'英语')insert into 科目表 values(2,'德语')insert into 科目表 values(3,'日语')insert into 科目表 values(4,'法语')
然后需要创建一个视图
create view v_subjectasselect a.s_name,SUM(case when a.s_name=b.subject then 1 else 0 end) countsfrom 科目表 a left join 姓名表 b on a.s_name=b.subjectgroup by a.s_name执行语句
declare @sql varchar(4000)set @sql = 'select sum(counts) as 合计'select @sql = @sql + ',sum(isnull(case [s_name] when '''+[s_name]+''' then [counts] end,0)) as ['+[s_name]+']'from (select distinct [s_name] from v_subject) as aselect @sql = @sql+' from [v_subject]'exec (@sql)结果截图
你结果里为什么会少呢?
这个主要是动态显示才这么复杂,比如你在科目表里再加个阿拉伯语,用这个也没问题,否则用case when的写法会比较有局限性
Ⅵ 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语句统计数量 统计一个字段出现的数量
1、创建测试表,
create table test_stu(id number, u_name varchar2(20), subject varchar2(20));
create table test_subj(id number, subject varchar2(20));