select td报考课目 as 科目,td报名时间 as 时间,sum(isnull(报名人数,0)) as 报名人数,sum(isnull(交费人数,0)) as 交费人数
from(
select 报考课目,报名时间,count() as 报名人数,0 as 交费人数
from bmb
group by 报考课目,报名时间
union all
select 报考课目,交费时间,0 as 报名人数,count() as 交费人数
from bmb
group by 报考课目,交费时间
) tb right join (select
from(select distinct 报名时间
from bmb
union
select distinct 交费时间
from bmb) ta,
(select distinct 报考课目
from bmb) tc) td on tb报考课目 = td报考课目 and tb报名时间 = td报名时间
group by td报考课目,td报名时间
order by td报考课目,td报名时间
1
SELECT
出版社出版社名称,
COUNT(图书书号)
AS
出版图书的数量
FROM
图书,
出版社
WHERE
图书出版社编号
=
出版社编号
GROUP
BY
出版社出版社名称
2
列出多人合著的图书书号和价格。
SELECT
书号,
价格
FROM
图书
GROUP
BY
书号,
价格
HAVING
COUNT(作者编号)
>=
2
3
列出高教出版社出版的最贵图书信息。
SELECT
图书
FROM
图书,
出版社
WHERE
图书出版社编号
=
出版社编号
AND
出版社出版社名称
=
'高教出版社'
AND
图书价格
IN
(SELECT
MAX(价格)
FROM
图书
T
WHERE
T出版社编号
=
出版社编号)
4
列出所有图书都是30元以上的出版社名称。
SELECT
出版社出版社名称
FROM
图书,
出版社
WHERE
图书出版社编号
=
出版社编号
GROUP
BY
出版社出版社名称
HAVING
SUM
(
CASE
WHEN
图书价格
>
30
THEN
0
ELSE
1
END
)
=
0
首先:你这个表结构设计的就太不合理, 数据量大的时候查询将非常耗时耗资源。
你的问题是否可以这样理解?输入一个日期, 将改日期下A B C的数量(如果存在记录)求和输出?但是这样问题就出来了, 也就是说你只能每次查询一个日期下的数量总和, 而不能按日期来汇总数量总和, 所以说设计的结构不合理!
其次:你要的这个功能, 可以实现。
思路:
必定要用拼接语句, 动态查询出所有存在的唯一日期, 逐个日期查询A B C的数量, 求和!这样查询出来的就是按日期汇总的数量了。
不知道你是否理解?
可以通过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"的形式查询出结果。
结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。
1986年10月,美国国家标准协会对SQL进行规范后,以此作为关系式数据库管理系统的标准语言(ANSI X3 135-1986),1987年得到国际标准组织的支持下成为国际标准。不过各种通行的数据库系统在其实践过程中都对SQL规范作了某些编改和扩充。所以,实际上不同数据库系统之间的SQL不能完全相互通用。
DataTable dt1;//有数据的
DataTable dt2;//没数据的
//以上变量的初始化我就不写了
foreach(DataRow dr in dt1)
{
if((Int32)dr["A"]>5 && (Int)dr["B"]>3)
{
dt2rowsadd(dr);
}
}
以上就是关于在SQL数据库中如何实现如下的统计功能全部的内容,包括:在SQL数据库中如何实现如下的统计功能、数据库实验:统计查询和组合查询、SQL数据库上的select sum功能如何实现符合条件的不同列数值统计等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)