‘壹’ 请问怎样用sql语句实现对表格的汇总注意,包括表格中不存在的数值也做统计。
再做一个表 defaultColumn (dc int)
加行1...10
select c.dc,isnull(st.nCount,0)nCount
from defaultColumn c
left join
(select Field1,count(Field1) nCount from table1 group by Field1)st
on c.dc=st.Field1
如果在table1没有行的话,查询时会自动加零.
如果是sql,当然也可以不加物理表,写一段代码,自动创建临时表并循环加行.
这段代码可以封装成函数,也可以直接写在查询里.
‘贰’ mysql 这个统计表怎么做
表统计信息是数据库基于成本的优化器最重要的参考信息;统计信息不准确,优化器可能给出不够优化的执行计划或者是错误的执行计划。对统计信息的计算分为非持久化统计信息(实时计算)与持久化统计信息。
非持久化统计信息
统计信息没有保存在磁盘上,而是频繁的实时计算统计信息;
每次对表的访问都会重新计算其统计信息;
假设针对一张大表的频繁查询,那么每次都要重新计算统计信息,很耗费资源。
持久化统计信息
把一张表在某一时刻的统计信息值保存在磁盘上;
避免每次查询时重新计算;
如果表更新不是很频繁,或者没有达到 MySQL 必须重新计算统计信息的临界值,可直接从磁盘上获取;
即使 MySQL 服务重启,也可以快速的获取统计信息值;
统计信息的持久化可以针对全局设置也可以针对单表设置。
接下来,详细说 MySQL 统计信息如何计算,何时计算,效果评估等问题。在 MySQL Server 层来控制是否自动计算统计信息的分布,并且来决策是持久化还是非持久化。
‘叁’ 关于sql统计语句怎么写
可以使用分组进行统计,代码如下:
SELECTcid,count(cid)'count'FROM表GROUPBYcid
‘肆’ 如何用在MySQL中用sql语句将表1的内容统计成表2
本期我们用 MySQL 提供的 DBUG 工具来研究 MySQL 的 SQL 处理流程。
起手先造个实例
本次实验中,我们借助了 MySQL 的 DBUG 包,来让 MySQL 将处理过程暴露出来。MySQL 中类似的技术还有不少,比如 performance_schema,OPTIMIZER_TRACE 等等。
这些技术将 MySQL 的不同方向的信息暴露出来,方便大家理解其中机制。
‘伍’ sql如何查询一个表并统计表内的数据条数
其实使用select count(1) from Tablename就可以了,没有必要在里面写字段名的,这样效率是最高的,后面你也可以跟上条件!
‘陆’ SQL月度考勤表,怎么写统计表。
把数据表导出后用透视表进行操作,可以实现分类统计,然后你再建立新表格,把分类好的数据复制粘贴上去就是了。
‘柒’ 统计 SQL 写法
select
u='a','1'=SUM(case
a
when
'1'
then
1
else
0
end),
'2'=SUM(case
a
when
'2'
then
1
else
0
end),
'3'=SUM(case
a
when
'3'
then
1
else
0
end)
from
dbo.abc
union
select
u='b','1'=SUM(case
b
when
'1'
then
1
else
0
end),
'2'=SUM(case
b
when
'2'
then
1
else
0
end),
'3'=SUM(case
b
when
'3'
then
1
else
0
end)
from
dbo.abc
union
select
u='c','1'=SUM(case
c
when
'1'
then
1
else
0
end),
'2'=SUM(case
c
when
'2'
then
1
else
0
end),
'3'=SUM(case
c
when
'3'
then
1
else
0
end)
from
dbo.abc
这个属于列转行的一个统计查询,通常来说是需要指定a,b,c这些字段的值的种类写成固定的语句,而你的需求这里的值是未知的,只能通过动态的生成查询语句来进行统计,但也有个前提就是最好是知道这里值的范围。比如1-10,就把1-10的可能都列出来。
如果这里值太多的话,那么就需要换一种方法了,专门建立一个统计表,通过触发器当表中数据变化时更新统计表的统计数据,需要查看统计的时候直接查询统计表
‘捌’ 用sql查询语句实现一个统计表,跪求帮助新手啊
select DIVORCE_REASON ,离婚原因统计数目,离婚原因统计数目/SUM(离婚原因统计数目) as 百分比
from
(select DIVORCE_REASON,,count(*) as 离婚原因统计数目
from table
group by DIVORCE_REASON
)
group by DIVORCE_REASON
‘玖’ SQL如何建立二维统计表
select
AM_ID,
SUM(case when LOB='SP' then 1 ELSE 0 END) AS SP,
SUM(case when LOB='ENT' then 1 ELSE 0 END) AS ENT,
SUM(case when LOB='PS' then 1 ELSE 0 END) AS PS,
SUM(case when LOB='Midmarket' then 1 ELSE 0 END) AS Midmarket
from TestTable
group by AM_ID
‘拾’ SQL如何统计4表数据呢
a表中的id应该是主键唯一的吧,oracle语法可以参考
select a.品名,a.规格,a.单位,vb.总数量,vc.总库存,vd.总出库
from a,
(select a.id,sum(b.数量) as 总数量
from a,b
where a.id=b.id3
and b.日期1>=to_date('20140101','yyyymmdd')
and b.日期1<=to_date('20141231','yyyymmdd')
group by a.id
) vb,
(select a.id,sum(c.库存) as 总库存
from a,c
where a.id=c.id7
and c.日期2>=to_date('20140101','yyyymmdd')
and c.日期2<=to_date('20141231','yyyymmdd')
group by a.id
) vc,
(select a.id,sum(d.出库) as 总出库
from a,d
where a.id=d.id3
and d.日期3>=to_date('20140101','yyyymmdd')
and d.日期3<=to_date('20141231','yyyymmdd')
group by a.id
) vd
where a.id=vb.id(+)
and a.id=vc.id(+)
and a.id=vd.id(+)