SQL语句(50分)

  • 主题发起人 主题发起人 WTO
  • 开始时间 开始时间
W

WTO

Unregistered / Unconfirmed
GUEST, unregistred user!
运用分组的SQL语句中,如何知道分成的组的数目?
如下SQL:select zd1,zd2,sum(zd3) from table1 where (条件)
group by zd1,zd2;
 
select count(*) from table1 where (条件) group by zd1,zd2
 
返回的记录数就是分组数目呀. 如果是指用query analyzer之类的客户端程序
的话, 返回的xxx rows 就是分组的数量.
 
用query进行查询后,取query.recordcount。kent的方法我试过,不行
 
我想用纯 SQL 语句是否能得到?脱离开Delphi或其他工具。
 
我这样做过一个语句,请参阅:
select count(*) from dbo.bas_user where
(select Corpid+UserID+sum(UserType) from dbo.BAS_User group by
Corpid,UserID)
like Corpid+userid+'%'
 
例如 z1=1,2 z2=3,4
则有以下几条记录:
(1,3),(1,4),(2,3),(2,4)
 
若你的数据库是支持子查询的话(如ORACLE),可以用下面的办法:
select count(*) from
(select zd1,zd2,sum(zd3) from table1 where (条件)group by zd1,zd2);
若不支持子查询(如INFORMIX),则可以建立一个临时表,用完再删除:
create table temptable as select zd1,zd2,sum(zd3) from table1 where (条件)group by zd1,zd2;
select count(*) from temptable;
drop table temptable;
 
多人接受答案了。
 
后退
顶部