Mysql 获取具有查询结果的列中重复值的计数

Mysql 获取具有查询结果的列中重复值的计数,mysql,Mysql,我想获得查询结果中一列中结果中重复的值数 我从复杂查询中得到的结果集是- svn rvn eng count(*) 1 1 Boy 1 2 1 Teacher 1 3 1 Chair 1 3 2 Chairwoman 1 3 3 Chairperson 1 4 1 Without 1 4 2 Without fail 1 5 1 A

我想获得查询结果中一列中结果中重复的值数

我从复杂查询中得到的结果集是-

svn rvn eng     count(*)
1   1   Boy            1
2   1   Teacher        1
3   1   Chair          1
3   2   Chairwoman      1
3   3   Chairperson     1
4   1   Without         1
4   2   Without fail    1
5   1   Anyone          1
5   2   Anyone else     1
6   1   Permission      1
我只想得到第四列中
SVN
column中重复值的数量

i、 e

请帮我解决这个问题,也请告诉我这会对查询效率造成什么影响

*注意-*我想要在结果集中拾取的值的计数。 表中有更多带有
svn
1,2,4,6的条目。但只计算已选择的数量

提前感谢:)

EDIT1

以下是我当前的查询:-

SELECT `svn` , `rvn` ,`eng` , count(*) FROM 
        (SELECT `svn`, `rvn`, `eng`, `hin` 
              FROM `table1` 
              WHERE `SN` = @sn
            UNION DISTINCT
            SELECT `table1_refer`.`sn_svn` AS 'svn',  
                           `table1`.`rvn`, `table1`.`eng` ,  
                          `vocab_rel`.`hin`
            FROM  `table1` 
            JOIN  `table1_refer` 
            WHERE  `table1_refer`.`rSN` =  `table1`.`SN` 
            AND  `table1_refer`.`svn` =  `table1`.`svn` 
            AND `table1_refer`.`SN` = @sn
        ) AS SUBQUERY
        GROUP BY `svn`,`rvn`
        ORDER BY `svn`, `rvn`

您可以在当前复杂查询中使用相关子查询来执行以下操作:

SELECT
  svn, 
  rvn,
  eng,
  (SELECT count(t2.svn)
   FROM Tablename t2
   WHERE t2.svn = t1.svn
  ) AS Count
FROM Tablename t1
....
这将为您提供:

| SVN | RVN |         ENG | COUNT |
-----------------------------------
|   1 |   1 |         Boy |     1 |
|   2 |   1 |     Teacher |     1 |
|   3 |   1 |       Chair |     3 |
|   3 |   2 |  Chairwoman |     3 |
|   3 |   3 | Chairperson |     3 |
|   4 |   1 |     Without |     2 |
|   4 |   2 | Withoutfail |     2 |
|   5 |   1 |      Anyone |     2 |
|   5 |   2 |  Anyoneelse |     2 |
|   6 |   1 |  Permission |     1 |

那么,在你复杂的查询中,你的代码是什么?@JW如果你想更多地了解我当前的查询,那么下面是我要求进行当前查询的链接:你知道吗,在你的查询中,这些可怕的反勾号实际上都不是必需的?@a_horse_,没有名字,我主要从phpmyadmin那里得到帮助,因此,就为了它的良好格式,我使用了它。:)嘿,谢谢,我想知道这会如何影响效率??如果你能提供一些信息的话。@Sanuj我认为这是唯一可行的方法。我的意思是从表中选择所有行,其中只有一行的重复数。在这种情况下,您不能像以前那样使用
分组方式。因此,由于对每一行执行这种相关的sql查询,它的性能会很差。@MahmoudGamal我们如何使用上述场景从两个或多个表进行联接?
| SVN | RVN |         ENG | COUNT |
-----------------------------------
|   1 |   1 |         Boy |     1 |
|   2 |   1 |     Teacher |     1 |
|   3 |   1 |       Chair |     3 |
|   3 |   2 |  Chairwoman |     3 |
|   3 |   3 | Chairperson |     3 |
|   4 |   1 |     Without |     2 |
|   4 |   2 | Withoutfail |     2 |
|   5 |   1 |      Anyone |     2 |
|   5 |   2 |  Anyoneelse |     2 |
|   6 |   1 |  Permission |     1 |