MySql-选择每行返回的总结果

MySql-选择每行返回的总结果,mysql,Mysql,我正试图计算我的SELECT查询中每一行的结果总数。比如: SELECT id, COUNT(*) FROM mytable; 但这只返回一行计数。如何获取每行返回的行总数 我已经尝试使用:SELECT@I=@I+1(在子查询中)来实现这一点,但它不起作用。此外,尝试按id分组,但也没有帮助 是否有一些MySql函数可以返回返回的总行数,以便将其添加到结果的每一行中(用于计算)?您缺少groupby id 用这个 SELECT id, COUNT(*) FROM mytable GROUP B

我正试图计算我的
SELECT
查询中每一行的结果总数。比如:

SELECT id, COUNT(*) FROM mytable;
但这只返回一行计数。如何获取每行返回的行总数

我已经尝试使用:SELECT@I=@I+1(在子查询中)来实现这一点,但它不起作用。此外,尝试按id分组,但也没有帮助


是否有一些MySql函数可以返回返回的总行数,以便将其添加到结果的每一行中(用于计算)?

您缺少
groupby id

用这个

SELECT id, COUNT(*) FROM mytable GROUP BY id;

也许你的意思是这样的?

你所说的“每行结果的总数”是什么意思?听起来您想从mytable GROUP BY id中选择id、COUNT(*);但你说你确实试过了。您能否提供有关表格和所需结果的信息?您能否提供示例数据并从中获得预期的输出?假设每个id有5行,您将获得输出为
1,5
2,5
。。。。我相信OP不希望这样,结果也没有意义……是的,我猜他是说“每行返回的行总数”嗨,伙计们,谢谢你们的回答。是-我正在尝试获取输出为
1,5
2,5
。。。但是不能使用嵌套的SELECT查询,因为如果我想要在一个包含大约10k或更多记录的大型表上的一个大型查询中的总行数,那么它的成本太高。还有其他工作吗?你试过解释这个问题吗?如果您使用的是MyISAM存储引擎,则计数将得到优化。另外,您应该简单地将计数结果放入变量中。
SELECT id, (SELECT COUNT(*) FROM mytable) FROM mytable;