SQL计算表中的行数

时间:2015-03-07 16:11:58

标签: sql-server count rows database-table

我需要向数据库发送一个SQL查询,告诉我表中有多少行。我可以使用SELECT获取表格中的所有行,然后计算它们,但我不喜欢这样做。是否有其他方法可以将表中的行数询问SQL服务器?

6 个答案:

答案 0 :(得分:34)

是的,SELECT COUNT(*) FROM TableName

答案 1 :(得分:6)

select sum([rows])
from sys.partitions
where object_id=object_id('tablename')
 and index_id in (0,1)

非常快,但非常不准确。

答案 2 :(得分:3)

使用此查询:

Select
    S.name + '.' + T.name As TableName ,
    SUM( P.rows ) As RowCont 

From sys.tables As T
    Inner Join sys.partitions As P On ( P.OBJECT_ID = T.OBJECT_ID )
    Inner Join sys.schemas As S On ( T.schema_id = S.schema_id )
Where
    ( T.is_ms_shipped = 0 )
    AND 
    ( P.index_id IN (1,0) )
    And
    ( T.type = 'U' )

Group By S.name , T.name 

Order By SUM( P.rows ) Desc

答案 3 :(得分:2)

这是查询

select count(*) from tablename

 or 

select count(rownum) from studennt

答案 4 :(得分:1)

为什么不右键单击表格,然后选择属性 - >存储,它会告诉你行数。 您可以在视图中使用以下行计数

nsup-delete-sleep

答案 5 :(得分:0)

索引统计信息可能需要是最新的,但这将返回所有非MS_SHIPPED表的行数。

public void switchPositionValue(int before, int after){
    SQLiteDatabase sqLiteDatabase = this.getWritableDatabase();
    ContentValues contentValues = new ContentValues();
    contentValues.put(COLUMN_5, after);
    sqLiteDatabase.update(TABLE_NAME, contentValues, "POSITION=?", new String[]{before+""});
}