如何显示mysql中每一行的计数?

问题描述 投票:0回答:1

因此,我在下面有此表

   SELECT
    doctors.`name`,
    COUNT(`doctor-barge-naghs`.`code-naghs`) AS 'countEachDoctor'
    FROM
    doctors
    INNER JOIN `doctor-barge-naghs` ON `doctor-barge-naghs`.`code-doctor` = doctors.id
    GROUP BY doctors.`name`

enter image description here

并且我想计算SUM'countEachDoctor'字段并显示在每行旁边。

我这样做

SELECT t1.*,(SELECT SUM(t1.countEachDoctor))
FROM(

SELECT
doctors.`name`,
COUNT(`doctor-barge-naghs`.`code-naghs`) AS 'countEachDoctor'
FROM
doctors
INNER JOIN `doctor-barge-naghs` ON `doctor-barge-naghs`.`code-doctor` = doctors.id
GROUP BY doctors.`name`) AS t1

enter image description here

这是我想要的,但不幸的是,它只显示一个记录,我需要所有记录。

mysql
1个回答
0
投票

如果您未使用mysql 8,则可以这样实现:

   SELECT
    doctors.`name`,
    COUNT(`doctor-barge-naghs`.`code-naghs`) AS 'countEachDoctor',
    (SELECT SUM(t.countEachDoctor)
    FROM (
      SELECT
       COUNT(`doctor-barge-naghs`.`code-naghs`) AS 'countEachDoctor'
      FROM doctors
      INNER JOIN `doctor-barge-naghs` ON `doctor-barge-naghs`.`code-doctor` = doctors.id
      GROUP BY doctors.`name`) t) AS sumCount
    FROM
    doctors
    INNER JOIN `doctor-barge-naghs` ON `doctor-barge-naghs`.`code-doctor` = doctors.id
    GROUP BY doctors.`name`
© www.soinside.com 2019 - 2024. All rights reserved.