mysql - 在单个 SQL 查询中进行计数
问题描述
标题是可悲的,我真的不知道如何比这个问题更好地表达这个问题,让我解释一下。
我有一个Tests
表格和TestAttendance
表格,每次用户使用用户 ID 和测试 ID 进行测试时,我都会在其中创建一条记录。
我想做的是:在列出测试时,我想显示每个测试的服务员总数。
(
SELECT COUNT(ta.id)
FROM TestUserAttendances ta
JOIN Tests t ON ta.testId = t.id
)
上面的查询在不区分测试的情况下返回服务员总数,因此我希望它单独显示每个测试时添加到每个测试的服务员总数。
解决方案
您需要使用 GROUP BY:
SELECT ta.test_id,count(*) from FROM TestUserAttendances ta JOIN Tests t ON
ta.testId = t.id group by ta.test_id
推荐阅读
- angular - 在数组中使用时角模型类给出错误
- containers - 如何让 GCE 实例在其部署的容器完成时停止?
- javascript - 使用 Fetch-Mock 返回测试 Blob
- pentaho - Pentaho Logging 为每一行指定 Job 或 Trans
- android - Button 文本的最后一个字符部分可见
- python - PostgreSQL JSON - 嵌套列表的子集
- javascript - d3 topojson 剪辑路径问题
- ios - Codable struct - enum when key missing when parsing json
- python - 通过“iter”解析文件排除了一个字符串
- oracle - 将生成的 SQL 查询表复制到另一个表中