我有以下查询
select main_cat_name,cat_url from mf_main order by main_cat_name
这会返回我的表的整个数据。现在我想要计算这个表的总行数。我可以使用另一个查询来完成它,但是如何在一个查询中使用它们?
我想要两个数据ONE: - 表格TWO的行: - 计数 我怎么能在一个单一的查询中拥有它
我尝试了这个,但它提供了正确的计数,但只显示了表格的第一行:
select count(cat_id),main_cat_name,cat_url from mf_main order by main_cat_name
答案 0 :(得分:16)
您可以尝试使用Group By:
SELECT count(cat_id), main_cat_name, cat_url FROM mf_main GROUP BY main_cat_name, cat_url ORDER BY main_cat_name
我希望正确的解决方案:
这就是你想要的:)
SELECT x.countt, main_cat_name, cat_url FROM mf_main, (select count(*) as countt FROM mf_main) as x ORDER BY main_cat_name
如果你使用mysql你就像我一样“as”。对于其他人,db可能没有(如oracle)
答案 1 :(得分:3)
你可以尝试
select main_cat_name,cat_url,
COUNT(*) OVER () AS total_count
from mf_main
order by main_cat_name
不确定MySQL是否接受AS
,如果不接受则删除它。
答案 2 :(得分:1)
select count(cat_id), main_cat_name, cat_url
from mf_main
group by main_cat_name, cat_url
order by main_cat_name
答案 3 :(得分:0)
如果不使用WHERE查询并且不以任何其他方式限制输出,例如使用GROUP BY,那么结果中的行数量将匹配表中的行数量,因此您可以使用数据库驱动程序特定的方法来找到行数,例如PHP中的mysql_num_rows
答案 4 :(得分:-1)
您已经创建了一个选择语句
你的点数已经有num_rows记录为num_rows