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)表示出来。我只想查询出满足这个条件的总的记录的条数。谢谢回答!
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
这个是正解! 谢谢。
@izhangxu: 正解你才给一半分,气死我了,以后再也不理你了
直接用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
这个查询有点蛋疼,首先分组查询出满足条件的数据,然后将这些满足条件的数据实现分页功能,而分页代码使用存储过程来实现的,里面需要用到这个查询结果的总条数。要返回给界面。
@izhangxu: 那你传给存储过程的参数是要传这个总条数?
@念念啊: 存储过程只需接受表名等参数,然后在存储过程里面执行查询,将满足条件的总条数作为 output 参数。应用程序再捕获这个参数。
@izhangxu: 我把你的问题想复杂了。。。