首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在mysql查询中使用组获取学校计数和年级计数

问在mysql查询中使用组获取学校计数和年级计数
EN

Stack Overflow用户
提问于 2020-02-08 09:10:34
回答 1查看 138关注 0票数 0

我想得到总学校的总数,包括在那所学校的总数,如果学校计数,它不应该考虑重复的学校身份。包括学校一年级和二年级在内,我只想用一个查询就可以得到预期的输出。

表:

代码语言:javascript
复制
school_id      grade

  1             1

  2             1


  1             3

  1             4

预期产出:

代码语言:javascript
复制
1) school count=2

2) grade count for individual school like

    school_id   grade_count

      1           3
      2           1

3)  total grade count  (school 1+school2)=4

我使用了这个Mysql查询,但是它没有按照要求来获得所有三个输出。

Mysql查询:

代码语言:javascript
复制
select count(*) as total_school,count(grade) from (SELECT grade FROM schools group by school_id)X 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-08 09:29:39

代码语言:javascript
复制
SELECT 
  `school_id`,
  (SELECT COUNT(DISTINCT `school_id`) FROM `school_grade`) as different_school_count,
  COUNT(*) as school_count,
  COUNT(DISTINCT `grade`) as grade_count,
  (SELECT COUNT(*) FROM `school_grade`) as total_grade_count
FROM
  `school_grade`
GROUP BY `school_id`

产出:

代码语言:javascript
复制
| school_id | different_school_count | school_count | grade_count | total_grade_count |
|-----------|------------------------|--------------|-------------|-------------------|
|         1 |                      2 |            3 |           3 |                 4 |
|         2 |                      2 |            1 |           1 |                 4 |

http://sqlfiddle.com/#!9/9132c7/16

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60125403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档