【发布时间】:2011-03-30 18:50:53
【问题描述】:
我正在使用 SQL,我想在没有循环的情况下计算行数。我似乎无法让“COUNT”关键字工作,但我知道在 MySQL mysql_num_row 中可以做到这一点。 SQL中是否有类似mysql_num_row的方法?
【问题讨论】:
我正在使用 SQL,我想在没有循环的情况下计算行数。我似乎无法让“COUNT”关键字工作,但我知道在 MySQL mysql_num_row 中可以做到这一点。 SQL中是否有类似mysql_num_row的方法?
【问题讨论】:
SELECT COUNT(*) FROM tablename
这将计算表“tablename”中的行/条目数
有关更多信息,请查看手册: http://dev.mysql.com/doc/refman/5.1/en/counting-rows.html
[编辑] 正如 Ken White 所建议的,您当然可以通过添加 WHERE 子句来缩小结果记录集的范围
【讨论】:
SELECT COUNT(*) FROM tablename WHERE SomeCondition
给定任何查询
select ..
from .. multiple ..
where .. group by.. order by..
limit ..
将其包装在子查询中,并在其上使用 COUNT(*)
select count(*) from (
select ..
from .. multiple ..
where .. group by.. order by..
limit ..
) X
) X 位是根据语法要求给它一个别名。当然,如果您的原始查询以 ; 结尾,请将其从子查询中删除。
【讨论】:
SELECT a, b, sum(c), min(D) .... group by a,b 开头的复杂查询 - 你把COUNT(*) 放在这里了吗?仅供参考,mysql_num_rows 适用于任何查询,因此是匹配的通用答案。