如何在oracle数据库中查询记录总条数

我想查询一个表STCD中A在某个时间段的总条数?如何写这个语句
STCD TM Q V
A 时间 52 600
B 时间 54 600
A 时间 53 600
A 时间 58 600
B 时间 57 600
并查询A和B某个时间段的记录总条数?

方法和详细的操作步骤如下:

1、第一步,查询该库中的所有表,测试sql,代码见下图,转到下面的步骤。

2、第二步,执行完上面的操作之后,查询有多少个数据表,见下图,转到下面的步骤。

3、第三步,执行完上面的操作之后,在TEST的开头编写一个查询表的脚本,每个表中的记录数,代码见下图,转到下面的步骤。

4、第四步,执行完上面的操作之后,执行sql,在输出窗口中,可以看到每个表的输出,见下图。这样,就解决了这个问题了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-10

可用两种方法,一种是在oracle的系统表中统计,另一种需要写存储过程统计,方法分别如下。

1、系统表中统计:

SELECT sum(num_rows) FROM user_tables;

结果:

2、存储过程统计,代码如下:

declare
v_tName varchar(50);
v_sqlanalyze varchar(500);
v_num number;
v_sql varchar(500);
cursor c1 
is
select table_name from user_tables;
begin
open c1;
loop
fetch c1 into v_tName;
if c1%found then

v_sqlanalyze :='analyze table  '||v_tName||'  estimate statistics';
execute immediate v_sqlanalyze;
v_sql := 'select NUM_ROWS  from user_tables where table_name =upper('''||v_tName||''')';

execute immediate v_sql into  v_num;
dbms_output.put_line('表名: '||v_tName||' 行数: '||v_num);
else
exit;
end if;
end loop;
end;

统计结果:

第2个回答  2014-10-23
select count(*) from stcd where stcd="A" and tm<"时间" and tm > "时间";追问

如果同时显示A和B的记录总条数的结果呢?

追答

如果你的额数据库表只有A和B 那么下面查询的就是你要的结果

select count(*) from stcd where tm "时间";

追问

如果不止有A,B还有其他的,我想知道如查询出这些字段的总条数,感谢!!!

追答

你可以做个测试,
如果要查询某个字段就用
select count(*) from stcd where stcd="A" and tm "时间";
如果查询所有的数据在某个时间段这个sql也是可以的
select count(*) from stcd where tm "时间"
这条语句的意思是 在个时间段多所有记录给你统计出来放回总数