1 SQLITE查询中的多次计数

1 SQLITE查询中的多次计数,sql,sqlite,aggregate-functions,Sql,Sqlite,Aggregate Functions,使用SQLite SELECT c.*, COUNT(m.course_id) AS "meeting_count", COUNT(r.meeting_id) AS "race_count" FROM course c LEFT JOIN meeting m ON m.course_id = c.id LEFT JOIN race r ON r.meeting_id = m.id GROUP BY c.id 当然有会议也有比赛 尝试为课

使用SQLite

   SELECT c.*,
          COUNT(m.course_id) AS "meeting_count",
          COUNT(r.meeting_id) AS "race_count"
     FROM course c
LEFT JOIN meeting m ON m.course_id = c.id
LEFT JOIN race r ON r.meeting_id = m.id
 GROUP BY c.id
当然有会议也有比赛


尝试为课程会议和课程竞赛选择正确的计数。问题是上述查询返回的“meeting\u count”计数与“race\u count”计数相同。我做错了什么?

尝试添加DISTINCT like
COUNT(DISTINCT m.course\u id)

似乎可以做到这一点:)需要在1次会议后扩展我的数据,以确保其计算正确。COUNT统计指定列中非空值的数量-没有示例数据,我们怎么知道为什么你得到的是相同的计数,或者这是不是很糟糕?