sql统计查询结果
以下代码在SQL 2008中可以
select [楼层],已入住=sum(case when 入住状态='已入住' then 1 else 0 end),
未入住=sum(case when 入住状态='未入住' then 1 else 0 end),总数=count(0) ,入住率=sum(case when 入住状态='已入住' then 1 else 0 end)/convert(decimal,count(0))*100
from A
GROUp by [楼层]
Ⅱ SQL里面怎么计算下查询出来的结果呢
你用sql首先统计每个供应商的 优秀,满意,基本满意,不满意 个数
保存在临时表中 或者 建个视图
然后在 在计算 占的比例
最后汇总 select 出来就行了 应该不难
Ⅲ sql语句查询,并统计查询结果数量
可以通过count函数来实现。
sqlOne:select * from tablename1 where id>5;此语句查询出来多条记录,之后看做一个新的表。
sqlTwo:select conut(*) from (select * from tablename1 where id>5) as tablename2;此语句即可查询出来统计的记录条数。
备注:以上方法通用于所有的数据统计,如果是单表查询,可以直接通过:“select count( *) from tablename1 where id>5"的形式查询出结果。
Ⅳ 关于SQL查询统计的实现方法
看懂你的问题基本很难,不过上天看眼,一步注意,不小心看出来了。
不废话,上结果:
SELECT
T.部门,
SUM(DECODE(T.成绩='A',1,0)A,
--如果本行的成绩是A
,结果列A
+1,否则加0.下面依次类推
SUM(DECODE(T.成绩='B',1,0)B,
SUM(DECODE(T.成绩='C',1,0)C,
SUM(DECODE(T.成绩='D',1,0)D,
FROM
MYTABLE
T
GROUP
BY
T.部门
Ⅳ SQL中如何统计查询结果中某一列重复值的个数
数据库开窗函数count()over()可以实现你的需求,但是你的数据库有没有类似的开窗函数我就不知道的,一般来说oracle应该可以实现,sqlserver和mysql中mysql没有响应的开窗函数,要自己做,sqlserver中有类似的聚合开窗函数,但是count能不能用我不是很确定。
select count(*)over(partition by fsu_device_id) 重复次数,你的字段 from (你上面的select语句)
我写了一个最简单的,也就是在你的语句外面又套了一层,你可以试试能不能不套这一层,不过我没有环境没办法测试,所以就直接套了。
Ⅵ sql 查询 统计
createtableclient
(
clientidintnotnull,
groupidintnotnull,
constraintPK_CLIENTprimarykey(clientid,groupid)
);
createtableclienthistory
(
clientidintnotnull,
clientstatusint,
timestampsvarchar2(8),
constraintPK_CLIENTHISTORYprimarykey(clientid)
);
createtableclientgroup
(
groupidintnotnull,
groupnamevarchar2(10),
constraintPK_CLIENTGROUPprimarykey(groupid)
);
insertintoCLIENT(CLIENTID,GROUPID)
values(1,1);
insertintoCLIENT(CLIENTID,GROUPID)
values(2,1);
insertintoCLIENT(CLIENTID,GROUPID)
values(3,1);
insertintoCLIENT(CLIENTID,GROUPID)
values(4,1);
insertintoCLIENT(CLIENTID,GROUPID)
values(5,1);
insertintoCLIENT(CLIENTID,GROUPID)
values(6,2);
insertintoCLIENT(CLIENTID,GROUPID)
values(7,2);
insertintoCLIENT(CLIENTID,GROUPID)
values(8,2);
insertintoCLIENT(CLIENTID,GROUPID)
values(9,3);
insertintoCLIENT(CLIENTID,GROUPID)
values(10,3);
insertintoCLIENTGROUP(GROUPID,GROUPNAME)
values(1,'groupname1');
insertintoCLIENTGROUP(GROUPID,GROUPNAME)
values(2,'groupname2');
insertintoCLIENTGROUP(GROUPID,GROUPNAME)
values(3,'groupname3');
insertintoCLIENTHISTORY(CLIENTID,CLIENTSTATUS,TIMESTAMPS)
values(1,1,null);
insertintoCLIENTHISTORY(CLIENTID,CLIENTSTATUS,TIMESTAMPS)
values(2,0,null);
insertintoCLIENTHISTORY(CLIENTID,CLIENTSTATUS,TIMESTAMPS)
values(3,1,null);
insertintoCLIENTHISTORY(CLIENTID,CLIENTSTATUS,TIMESTAMPS)
values(4,0,null);
insertintoCLIENTHISTORY(CLIENTID,CLIENTSTATUS,TIMESTAMPS)
values(5,0,null);
insertintoCLIENTHISTORY(CLIENTID,CLIENTSTATUS,TIMESTAMPS)
values(6,1,null);
insertintoCLIENTHISTORY(CLIENTID,CLIENTSTATUS,TIMESTAMPS)
values(7,1,null);
insertintoCLIENTHISTORY(CLIENTID,CLIENTSTATUS,TIMESTAMPS)
values(8,1,null);
insertintoCLIENTHISTORY(CLIENTID,CLIENTSTATUS,TIMESTAMPS)
values(9,0,null);
insertintoCLIENTHISTORY(CLIENTID,CLIENTSTATUS,TIMESTAMPS)
values(10,1,null);
selectcg.groupid,cg.groupname,(sum(ch.clientstatus)/count(c.clientid))fromclientgroupcg,clienthistorych,clientc
wherec.clientid=ch.clientid
andc.groupid=cg.groupid
groupbycg.groupid,cg.groupname
Ⅶ sql 查询统计
select DISTINCT a.作者,
( select COUNT (0) from 表1 where 作者 =a.作者) 新闻稿总量 ,
( select COUNT (0) from 表1 where 作者 =a.作者 and 新闻分类='时政') 时政 ,
( select COUNT (0) from 表1 where 作者 =a.作者 and 新闻分类='金融') 金融 ,
( select COUNT (0) from 表1 where 作者 =a.作者 and 新闻分类='体育') 体育 ,
( select COUNT (0) from 表1 where 作者 =a.作者 and 新闻分类='科技') 科技 ,
( select COUNT (0) from 表1 where 作者 =a.作者 and 新闻分类='房产') 房产
from 表1 a
-------------------------------
group by语句我就是不用
Ⅷ sql统计查询
withtmpas
(
selectuname,
casewhenresults>=60andresults<80then1
whenresults<60then2
whenresults>=80then3endasdd
fromtable2
)
selectunameas姓名,
(selectCOUNT(1)fromtmpawherea.uname=t.unameanda.dd=3)as优秀,
(selectCOUNT(1)fromtmpawherea.uname=t.unameanda.dd=1)as及格,
(selectCOUNT(1)fromtmpawherea.uname=t.unameanda.dd=2)as不及格
from
(
)t
Ⅸ 如何统计SQL语句查询出来的条数
i=SELECT count(1) FROM TABLE
语句返回值即为查询出来的条数.
示例如图所示:
扩展:
COUNT() 函数返回匹配指定条件的行数。
语法
(1). SQL COUNT(column_name) 语法
COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入):
SELECT COUNT(column_name) FROM table_nameSQL
(2). COUNT(*) 语法
COUNT(*) 函数返回表中的记录数:
SELECT COUNT(*) FROM table_nameSQL
(3). COUNT(DISTINCT column_name) 语法
COUNT(DISTINCT column_name) 函数返回指定列的不同值的数目:
SELECT COUNT(DISTINCT column_name) FROM table_name
Ⅹ SQl语句如何对select的结果进行分类统计(或者说如何用视图实现统计查询)
直接下面一句话就可以了:
select 单位名称,count(case 项目类别 when '理工类' then 1 end) 理工类,
count(case 项目类别 when '社科类' then 1 end) 社科类,
count(case 项目性质 when '横向' then 1 end) 横向,
count(case 项目性质 when '纵向' then 1 end) 纵向,
count(case 项目性质 when '校外' then 1 end) 校外,
count(*) 总数
from Item_Info
groupo by 单位名称