Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL-对当前行执行计数(*)_Mysql_Sql - Fatal编程技术网

MySQL-对当前行执行计数(*)

MySQL-对当前行执行计数(*),mysql,sql,Mysql,Sql,这是我的选择查询: SELECT col1, col3, col5, col8 FROM Table1 在我的选择查询中,我想专门为当前行执行计数(*) 我想要这样的东西,但不知道如何才能得到: SELECT col1, col3, ( SELECT COUNT(*) FROM table1 WHERE col3 = col3 value for current row ), col5, col8 FROM Table1 对SELECT查询结果集的当前行执行计数(*)的正确方法是什么

这是我的
选择
查询:

SELECT col1, col3, col5, col8
FROM Table1
在我的
选择
查询中,我想专门为当前行执行计数(*)

我想要这样的东西,但不知道如何才能得到:

SELECT col1, col3, 
(
SELECT COUNT(*) 
FROM table1 WHERE col3 = col3 value for current row
), 
col5, col8
FROM Table1
SELECT
查询结果集的当前行执行计数(*)的正确方法是什么

试试这个:

SELECT col1, col3, 
(
    SELECT COUNT(*) 
    FROM table1 WHERE id = A.Id
) Count, 
col5, col8
FROM Table1 A
set @num := 0;
SELECT @num := @num+1 , col1, col3, col5, col8 FROM Table1
或其他方式:

SET @num := ( SELECT COUNT( * ) FROM Table1) ;
SELECT @num := @num -1 , col1, col3, col5, col8
FROM Table1
找到了

如果我这样写我的查询:

SELECT col1, col3, 
COUNT(*) AS count,
col5, col8
FROM Table1
然后我得到表1中所有行的所有项的计数

事实上,我想要对选择性行的所有项目进行计数

就像我可能有col3值出现不止一次。我实际上想要每个col3的所有项目的计数

因此,
groupby
子句就是解决方案

SELECT col1, col3, 
COUNT(*) AS Count, 
col5, col8
FROM Table1 
GROUP BY col3

对不起,我想我不能很好地解释我的问题,所以它把很多人弄糊涂了。。一个很糟糕的问题。我的错

当前行的计数???这太令人困惑了。如果id是唯一的,那么每行的计数是1。您是否厌倦了对重复的id进行罚款?此表的id是自动递增的还是唯一的,还是仅值?非常复杂的问题。SELECT查询将获得两行。我想要的是:我想要我的表的第一行、第二行、第三行的计数(*),依此类推。此结果应包含在另一列中。确实很复杂。你是想把col1、col3、col5和col8中的所有值加起来吗?