我想知道在查询结果的列中结果中重复的值有多少.
我从复杂的查询得到的结果集是 –
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 coloumn中重复值的数量.
即
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 Without fail 2
5 1 Anyone 2
5 2 Anyone else 2
6 1 Permission 1
请帮我解决这个问题,请告诉我这会对查询的效率产生什么影响?
*注意 – *我想要在结果集中选取的值的计数.
表中有更多带有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`