题解 | #统计每个学校的答过题的用户的平均答题数#

统计每个学校的答过题的用户的平均答题数

https://www.nowcoder.com/practice/88aa923a9a674253b861a8fa56bac8e5

分析完精华题解的思路后,自己写了一遍

SELECT university,
COUNT(question_id) / COUNT(distinct qpd.device_id) AS avg_answer_cnt
FROM question_practice_detail AS qpd
INNER JOIN user_profile AS up
ON up.device_id = qpd.device_id
GROUP BY university
ORDER BY university

学到的重点:

  1. 如果一个字段,在不同的表中只出现了一次,可以不加表名
  2. 如果一个字段,在不同的表中重复出现,那每次使用之前,都要加表名
  3. ON的作用,类似于WHERE和HAVING,但是ON是和JOIN一起用的
  4. JOIN后面加表名
  5. JOIN VS INNER JOIN: JOIN and INNER JOIN will return the same result.

INNER is the default join type for JOIN, so when you write JOIN the parser actually writes INNER JOIN.[https://www.w3schools.com/sql/sql_join_inner.asp](SQL INNER JOIN, w3schools)

INNER JOIN的语法:

SELECT column_name(s)[列名]
FROM table1[表1]
INNER JOIN table2[表2]
ON table1.column_name = table2.column_name;
#sql#
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务