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中的所有值加起来吗?