mysql - 如何在mysql中显示每一行的计数?
问题描述
结果我有下面这张表
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`
我想计算 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
这是我想要的,但不幸的是,它只显示一条记录,我需要所有记录。
解决方案
如果您不使用 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`
推荐阅读
- terraform - terraform plan 未检测到漂移
- php - 如何在 Laravel 中将变量从控制器传递给 eloquent
- python-3.x - 为巨大的矩阵提高 numpy 嵌套 for 循环的速度
- ios - 是否可以更改样式为 UIAlertController 的操作表的 Y 位置?
- arrays - 小困惑:只用指针写数组程序
- java - dynamoDB 保存的日期时间不正确
- javascript - 冷却 discord.js
- node.js - 使用 pm2 提供静态文件
- android - Android(ReactNative) - 发布到 Playstore 后,Google 登录(没有 firebase)无法正常工作
- reactjs - 当我运行 npm start 时 localhost:3000 拒绝连接