首页 新闻 会员 周边

用Sql语句怎么 将分组查询得到的记录数 统计出来。

0
悬赏园豆:20 [已解决问题] 解决于 2012-09-26 20:19

select b.id,b.name,c.address,a.type
from tableA as a,tableB as b,table C as c
where a.id=b.typeid and b.addid=c.id
group by b.id,b.name,c.address,a.type

 

执行以上sql语句,查询出的结果如有8条记录,那么我怎样在 sql 语句中实现,将这个结果数(8)表示出来。我只想查询出满足这个条件的总的记录的条数。谢谢回答!

icyme的主页 icyme | 初学一级 | 园豆:77
提问于:2012-09-26 17:13
< >
分享
最佳答案
0
select count(*) from
(select b.id,b.name,c.address,a.type
from tableA as a,tableB as b,table C as c
where a.id=b.typeid and b.addid=c.id
group by b.id,b.name,c.address,a.type) temp
收获园豆:10
田林九村 | 老鸟四级 |园豆:2367 | 2012-09-26 17:45

这个是正解!  谢谢。

icyme | 园豆:77 (初学一级) | 2012-09-26 20:16

@izhangxu: 正解你才给一半分,气死我了,以后再也不理你了

田林九村 | 园豆:2367 (老鸟四级) | 2012-09-26 20:44
其他回答(1)
1

直接用count就可以了,这样:

select COUNT(*) AS CNT
from tableA as a,tableB as b,table C as c 
where a.id=b.typeid and b.addid=c.id
group by b.id,b.name,c.address,a.type

但是你怎么还要用group BY呢?如果只是满足where条件的总数的话,就要去掉group by

收获园豆:10
念念啊 | 园豆:415 (菜鸟二级) | 2012-09-26 17:17

这个查询有点蛋疼,首先分组查询出满足条件的数据,然后将这些满足条件的数据实现分页功能,而分页代码使用存储过程来实现的,里面需要用到这个查询结果的总条数。要返回给界面。

支持(0) 反对(0) icyme | 园豆:77 (初学一级) | 2012-09-26 17:19

@izhangxu: 那你传给存储过程的参数是要传这个总条数?

支持(0) 反对(0) 念念啊 | 园豆:415 (菜鸟二级) | 2012-09-26 17:38

@念念啊: 存储过程只需接受表名等参数,然后在存储过程里面执行查询,将满足条件的总条数作为 output 参数。应用程序再捕获这个参数。

支持(0) 反对(0) icyme | 园豆:77 (初学一级) | 2012-09-26 20:06

@izhangxu: 我把你的问题想复杂了。。。

支持(0) 反对(0) 念念啊 | 园豆:415 (菜鸟二级) | 2012-09-27 10:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册