sql数据库中,如何快速找数据量最大的几个表

sql数据库中,如何快速找数据量最大的几个表,第1张

sql的每一个数据库中有一个名名为’sysobjects’的表,这个系统表中储存了当前数据库中所有对象(包括系统表,用户表、日志、存储过程)的信息,可以用这个表链获取数据库中表的数目和名称,之后向获得某个制定数据库的信息,可以使用带参数的 sp_helpbd过程

我想不管是什么db总是有相应的业务逻辑的,最大的那几个表,一定有她的特殊 的业务逻辑,从表名上应该能判断出来,一般存,歌曲或者其他资料的表象对比较大,但是存用户名 以及关联表 ,一般都不会太大,

关于数据库更新,如果是xp或者me 以上的系统看看先把系统还原暂时停止,这样可以节省出来一些空间,或者在挂一块硬盘看看

方法一:

SELECT

SUM(正确数)+SUM(错误数)

AS

总记录数,SUM(正确数),SUM(错误数)

FROM

(

SELECT

COUNT(1)

正确数,0

错误数

FROM

TB

WHERE

STATUS=1

UNION

ALL

SELECT

0

正确数,COUNT(1)

错误数

FROM

TB

WHERE

STATUS=0)

a

方法二:

select

count(1)总记录数,sum(case

when

status=1

then

1

else

0

end)正确数,sum(case

when

status=0

then

1

else

0

end)

错误数

from

T

1、统计平均数:

SELECT

AVG(column)

FROM

tb_name

SQL

语法用于统计某一数值类型字段的平均数,AVG()

内不能是多个字段,字符串等类型虽然可以执行,但无意义。

2、统计数据之和:

SELECT

SUM(column)

FROM

tb_name

SQL

语法用于统计某一数值类型字段的数值之和,SUM()

内不能是多个字段,字符串等类型虽然可以执行,但无意义。

3、统计最大数据:

SELECT

MAX(column)

FROM

tb_name

SQL

语法用于统计某一数值类型字段的数值最大值,MAX()

内不能是多个字段。

4、统计最小数据:

SELECT

MIN(column)

FROM

tb_name

SQL

语法用于统计某一数值类型字段的数值最小值,MIN()

内不能是多个字段。

1、可通过分组和组内计数来实现,语句如下:

select a, count() from A Group by a

2、用Group By分组:

Group By + [分组字段](可以有多个)。在执行了这个 *** 作以后,数据集将根据分组字段的值将一个数据集划分成各个不同的小组。

这里,分组字段是a,所以数据集分成了你、我、他三个组。然后用Count()分别按照各个组来统计各自的记录数量。

3、Count()函数:

Count() 函数返回表中的记录数。注意它和Group by连用,返回组内记录数。

扩展资料:

select count()和select count(1)的区别

一般情况下,Select Count ()和Select Count(1)两着返回结果是一样的。

假如表没有主键(Primary key), 那么count(1)比count()快。

如果有主键的话,那主键作为count的条件时候count(主键)最快。

如果你的表只有一个字段的话那count()就是最快的。

count() 跟 count(1) 的结果一样,都包括对NULL的统计,而count(column) 是不包括NULL的统计。

参考资料:

百度百科Group by

枚举用户表名

查询系统表内容 ,查数据库里的系统表,里面记录了所有的表名

换有种方法

frmtxtSQL = "select distinct kucunkucun_no,dm_wzlb,kucunckdm,kucunwzdm,dm_wzmc,kucunsl,dm_wzrkj,kucuntotal_je,rukumxgfdm,kucundbsl,kucunbs,kucunsj,kucunupdate_date,rukumxbz from kucun inner join dm_wz on dm_wzdm=kucunwzdm inner join rukumx on rukumxwzdm=kucunwzdm

这个写的比较乱,你可以参考

方法3

用个存储过程来搞定,在sysobjects系统表中可以查询到数据库中所有的表名。

你说的当日是指某一天吗?首先你的时间字段的类型必须是datetime类型,如果不是就转换一下。

查询语句可以这样写,假设我们要查询2006年6月1日这一天的数据量。我不知道你的时间字段是不是datetime类型,所以进行了转换。

select count()

from 表

where convert(varchar(8),cast(时间字段 as datetime),112)='20060601'

把“表”和“时间字段”替换成实际的名称就可以了

以上就是关于sql数据库中,如何快速找数据量最大的几个表全部的内容,包括:sql数据库中,如何快速找数据量最大的几个表、SQL怎么统计个数、用sql语句统计数据库某个字段中相同的数据有多少条等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9717792.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存