- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 3 张 table 想要加入。学生、迟到和缺勤。
学生包含每个学生所需的信息。
迟到和缺勤。它们的结构几乎相同。两者都包含相同的列,例如 Student_id、日期等...
我的目标是统计缺勤和迟到的次数,并将其与具有相同student_id的学生放在同一行。
例如。学生表:
student_id name
a1 Josh
a2 Pete
a3 Gabe
a4 Howard
迟到表:
student_id date
a2 January 1,2016
a4 January 23,2016
缺勤表:
student_id date
a1 Feb. 2,2009
a2 August 3,2011
a2 August 4,2011
a4 March 18,2016
a4 June 28,2016
a4 June 29,2016
a4 July 15,2016
a4 July 16,2016
a4 July 29,2016
我已经尝试过一些。但这是迄今为止我遇到的最接近的一个。
SELECT students.student_id,
COUNT(absenteeism.student_id) AS absents,
COUNT(tardiness.student_id) AS tardi
FROM students
LEFT JOIN absenteeism ON students.student_id = absenteeism.student_id
LEFT JOIN tardiness ON students.student_id = tardiness.student_id
GROUP BY students.student_id
结果是
student_id absents tardi
a1 1 0
a2 2 2
a3 0 0
a4 6 6
我只知道缺席人数。问题是 a2 和 a4 的缺勤和迟到次数总是相同。
正确的结果应该是这样的...
student_id absents tardi
a1 1 0
a2 2 1
a3 0 0
a4 6 1
最佳答案
在这个主题的帮助下我终于弄清楚了MYSQL Left Join COUNTS from multiple tables
我添加了不同的计数并使用每个表的主键而不是student_id。
SELECT students.student_id,
COUNT(distinct absenteeism.absent_id) AS absents,
COUNT(distinct tardiness.tardi_id) AS tardi
FROM students
LEFT JOIN absenteeism ON absenteeism.student_id = students.student_id
LEFT JOIN tardiness ON tardiness.student_id = students.student_id
GROUP BY students.student_id
我的错误是在缺勤和迟到中使用了同一列student_id。这就是为什么使用
COUNT(distinct absenteeism.student_id)
COUNT(distinct tardiness.student_id)
只会导致
student_id absents tardi
a1 1 0
a2 1 1
a3 0 0
a4 1 1
关于mysql - 如何在连接在一起的 3 个表上正确使用 COUNT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40558281/
目录 count作用 测试 count(*) count(1) count(col) count(id):统计id count(inde
目录 1.初识COUNT 2.COUNT(字段)、COUNT(常量)和COUNT(*)之间的区别 3.COUNT(*)的优化 MyIS
以下 SQL Server 2008 语句之间有什么区别? SELECT COUNT(*) FROM dbo.Regular_Report SELECT COUNT(0) FROM dbo.Regul
如果字符串(短语)中只有元音,它(对我而言)说True;否则说 False。我不明白为什么它总是返回 False,因为 (x >= x) 总是返回 True。我感谢任何人检查此查询的解决方案。 (st
1.概述 在这个文章之前,我一直用count(1) 查询所有数据,以前我们都是说 count(*) 是最慢的。但是这个博客恰恰相反。 对于 count(主键 id) 来说,InnoDB 引擎会遍历整张
这个问题已经有答案了: Count(*) vs Count(1) - SQL Server (13 个回答) 已关闭 8 年前。 我经常发现这三种变体: SELECT COUNT(*) FROM Fo
为什么三个查询的成本相同?我想至少应该有一个更快。否则,只使用关键字 COUNT() 而不是 COUNT(parameter) 就可以了。 例如,以下是不依赖于参数的 COUNT() 示例实现: wh
我有一个“产品”表和一个“评论”表。 我想编写一个查询来返回每个产品的评论的 COUNT 和 AVG。 并且如果没有评论,我希望它为 COUNT 和 AVG 返回 0/null。 产品表 +-----
我会保持简短和亲切,因为我确信我缺少的是一些简单的东西。我正在尝试获取一个 NSMutableArray 的计数,它可以包含可变数量的对象(id 号)。数组是从 JSon 数据创建的,数组本身是完美创
我想知道查询计数的计数。 查询是 sourcetype="cargo_dc_shipping_log" OR sourcetype="cargo_dc_deliver_log" | stats cou
任何人都知道我如何在 SQL 炼金术中进行计数 COUN(IF(table_row = 1 AND table_row2 =2),1,0) 我做了这样的东西, func.COUNT(func.IF((
我有一个有四列的表(销售); id, user_id, product_id, and date_added. 我需要统计某个用户已售出的具有特定 id 的产品数量,并获取该用户当月售出的产品总数。
我是来问这个问题的实现的 MYSQL count of count? 我的问题是将我从一个表中提取结果的结果联系起来,使用它们来查询同一数据库的另一个表 (抱歉,我不是强大的 xySQL)。 我有一个
这是我的查询 SELECT COUNT(*) as total, toys, date FROM T1 WHERE (date >= '2012-06-26'AND date '0') UNION
我有 2 个表:成员,订单。 Members: MemberID, DateCreated Orders: OrderID, DateCreated, MemberID 我想找出给定月份中新成员的数
我最近在一次采访中被问到这个问题。我在 mySQL 中尝试了这个,并得到了相同的结果(最终结果)。All 给出了该特定表中的行数。谁能解释它们之间的主要区别。 最佳答案 没什么,除非您在表格中指定字段
我有一个包含 2157 条记录的表,假设有 3 列(A、B、C),我知道在 A 列中有 2154 个不同的值。 使用连接到 BigQuery 的 Tableau Desktop(及其自身的功能),我得
我试图查看当天的车辆销量,并创建另外两个列来告诉我过去 10 天的销量和过去 20 天的销量。同一天和同一辆车可能有多个销售。我的目标是获取不同的车辆和日期并查看他们的销售数量。 N 天计数应与该行中
我有一个非常简单的问题。我想知道某个数据库行是否存在。 我通常使用: SELECT 1 FROM `my_table` WHERE `field_x` = 'something' 然后我获取结果: $
我想要的输出的描述:我想要两个线程 Gaurav 和 john 完成一个 while 循环(从 1 到 8),这样无论哪个线程启动 ist,都会运行 5 次迭代(即直到 count=5 ) ,然后进入
我是一名优秀的程序员,十分优秀!