【问题标题】:SQL counting from multiple sources来自多个来源的 SQL 计数
【发布时间】:2014-04-02 13:49:17
【问题描述】:

我有两个表 StudentEnrolment 包含以下字段:

学生:学生 ID、姓名、级别

注册:Ref、StudentID、课程、EnrolDate

我正在尝试使用Name“john smith”获取自 2013 年 10 月 13 日以来注册的学生总数。

我已经能够计算自特定日期以来注册的学生人数,但我无法计算其中的姓名部分。

到目前为止的代码:

SELECT COUNT(ref)
AS NumOfStudents
FROM Enrolment
WHERE EnrolDate> '2013/10/13'

谢谢。

【问题讨论】:

  • 这是我目前所拥有的,在此声明之后,我只需要具有特定姓名的学生。 SELECT COUNT(ref) AS NumOfStudents FROM Enrollment WHERE EnrolDate> '2013/10/13'
  • 好的,然后使用连接(见我的回答)。

标签: mysql count


【解决方案1】:

试试这个查询,

select count(*) ans_field
from Student s, Enrolment e
where s.StudentID=e.StudentID and e.Enrolment > '2013-10-13' and s.Name like '%John smith%'

【讨论】:

    【解决方案2】:

    试试这个:

    SELECT COUNT(*) AS Count
    FROM Student S INNER JOIN
         Enrolment E ON S.StudentID=E.StudentID
    WHERE E.EnrolDate>'2013-10-13'
    AND S.Name='john smith'
    

    使用LIKE

    SELECT COUNT(*) AS Count
    FROM Student S INNER JOIN
         Enrolment E ON S.StudentID=E.StudentID
    WHERE E.EnrolDate>'2013-10-13'
    AND S.Name LIKE '%john smith%'
    

    如果名称包含“john smith”,则第二个查询将返回。例如,Name like 'john smith A'

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多