sql - 使用 COUNT 编写 SQL 查询时遇到问题
问题描述
我正在尝试编写一个 SQL 查询,在其中打印表 1 中的姓名、性别以及参与者的数量。表1和表2的id标签是一样的,所以我的想法是通过id标签对参与者进行分组,然后统计。
$sql = 'SELECT T1.name, T1.gender, COUNT(T2.Participant_name) AS participant_count
FROM Table1 T1, Table2 T2
WHERE T1.Id = T2.Id
GROUP T2.Id';
这个逻辑对我来说是有道理的,但是,似乎什么都没有打印出来,我不确定我哪里出错了。
期望的输出:
- 姓名、性别、参加人数
- A,M,2
- 乙,中,1
- C,F,1
解决方案
试试下面的 group by 两列 T1.name, T1.gender
SELECT T1.name, T1.gender, COUNT(T2.Participant_name) AS participant_count
FROM Table1 T1 inner join Table2 T2
on T1.Id = T2.Id
GROUP T1.name, T1.gender
或者你可以试试这个
select T1.name, T1.gender, T1.age,participant_count from
Table1 T1 inner join
( SELECT ID,COUNT(Participant_name) AS participant_count
FROM Table2
GROUP ID
)T2 on T1.Id = T2.Id
推荐阅读
- sql - 在 SQL 中的两个相同字符之间提取值
- ruby-on-rails - 退出后Rails设计登录无法正常工作
- charts - 超集周期图
- mongodb - 如何在 Mongoose 中使用过滤器获取最新记录?
- angular - 如何在提交前强制表单验证?
- spacy - spacy v3 上的 tqdm:如何批量使用它?
- android - 如何从手机存储中选择多个文件并获取全名和扩展名
- azure - 完成后如何获得 Start-AzAutomationJob 的输出?
- javascript - ReactNative AsyncStorage 方法没有响应
- c# - 两个安装程序试图在我的 Visual Studio 安装程序中同时运行