sql行数
⑴ sql 以行数分组
使用ntile实现
select sum(num) num from
( select ntile(2) over ( order by id ) n_id ,* from 表 ) a
group by n_id
select sum(num) num from
( select ntile(3) over ( order by id ) n_id ,* from 表 ) a
group by n_id
⑵ 如何用SQL语句查询表名和行数
//查询所有表明
select name from sysobjects where xtype='u'
select * from sys.tables
//查询数据库中所有的表名及行数
SELECT a.name, b.rows
FROM sysobjects AS a INNER JOIN sysindexes AS b ON a.id = b.id
WHERE (a.type = 'u') AND (b.indid IN (0, 1))
ORDER BY a.name,b.rows DESC
//查询所有的标明及空间占用量\行数
select
object_name(id) tablename,
8*reserved/1024 reserved,
rtrim(8*dpages)+'kb' used,
8*(reserved-dpages)/1024 unused,
8*dpages/1024-rows/1024*minlen/1024 free,
rows
--,*
from sysindexes
where indid=1
order by tablename,reserved desc
⑶ sql语句查询*每行*的行数
行号,是指在一定顺序的记录中排列的名次数。
在SQL中,如果没有排序,记录顺序是不一定的,
所以,也就不能确定行号(这叫已知条件不足吧)。
但是您如果告诉了要按什么顺序排列,就可以很简单地求出行号。
比如按您给出的两列COL1,COL2排序,就可以这样求行号:
SELECT 行号=(select count(1) from tablename a where a.col1*10000+a.col2<=tablename.col1*10000+tablename.col2),* from tablename order by col1,col2
⑷ SQL 返回行数问题
你只要行数吗,在外面加一层查询;
selectcount(*)cnt
from(selectReasonDes,GateAction,AntennaNo,MAX(RecordDate)fromTBL_BarrierGateRecord
whereDateDiff(hh,RecordDate,getDate())<=168
andGateId=01groupbyReasonDes,GateAction,AntennaNoHavingGateAction=0andAntennaNo=304
)aaa
⑸ sql 查询某个库中的每个表的记录行数
最简单的是这个:
select a.name as '表名',b.rows as '表数据行数'
from sysobjects a inner join sysindexes b
on a.id = b.id
where a.type = 'u'
and b.indid in (0,1)
order by b.rows desc
亲测OK。
⑹ sql查询语句如何添加一个统计数据行数
具体看你什么数据库了,还有你字段1,字段2,字段3哪个字段是字符类型的。
比如字段3是字符类型:
oracle写法:
SELECT字段1,字段2,字段3FROM打印数据表where打印时间>='2018-09-01'AND打印时间<'2018-09-19'
unionall
selectnull,null,'合计:'||count(*)from打印数据表where打印时间>='2018-09-01'AND打印时间<'2018-09-19'
mysql写法:
SELECT字段1,字段2,字段3FROM打印数据表where打印时间>='2018-09-01'AND打印时间<'2018-09-19'
unionall
selectnull,null,concat('合计:',(cast(count(*)asvarchar)from打印数据表where打印时间>='2018-09-01'AND打印时间<'2018-09-19'
sqlserver写法:
SELECT字段1,字段2,字段3FROM打印数据表where打印时间>='2018-09-01'AND打印时间<'2018-09-19'
unionall
selectnull,null,'合计:'+(cast(count(*)asvarchar)from打印数据表where打印时间>='2018-09-01'AND打印时间<'2018-09-19'
⑺ 如何快速获得SQL Server 表行数
其实有两个办法可以快速的查询到SQL Server的表数据。1. sp_spaceused:其中有一列是rows,如果输入的表对象的话,那么就会获得这个表的行数,速度非常快。其中也有一个列为rowcnt,Counts the total number of inserted, deleted, or updated rows since the last time statistics were updated for the table 使用下面的语句:---replace the tablename when you use this script from sys.sysindexes where id =object_id('tablename') and indid in(0,1) 通过这个统计结果可能不是太准确,因为系统统计信息有个时间差
⑻ SQL表查询最大行数
只需要将你查询出数据的sql将select
...
from
的内容改为
select
count(*)
from
就能得到查询的最大记录数了