【问题标题】:Sql duplicate record querysql重复记录查询
【发布时间】:2014-01-21 03:21:40
【问题描述】:

我有两张桌子。

  1. MasterStudent (student_number,name,address,dob)
  2. 登机点(登机ID、学生编号、分区数)

我想在生日之前得到重复的学生,但我不知道如何得到重复的记录。我是 sql 新手。我试过这个查询:

SELECT T.GivenName + ' ' + T.SurName AS Name,
  T.StreetNumber + ' ' + T.StreetName + ' ' + T.Suburb + ' ' + T.PostCode + ' ' + T.State + ' ' + T.Country AS Address,
  T.Sex, 
  T.DateOfBirth,
  T.yearlevel AS Year,
  z.dupCount,
  T.StudentNumber
FROM tblMasterStudent AS T
INNER JOIN (SELECT DateOfBirth, COUNT(*) AS dupCount
            FROM tblMasterStudent
            GROUP BY DateOfBirth
            HAVING (COUNT(*) > 1)) AS z ON z.DateOfBirth = T.DateOfBirth
            ORDER BY z.dupCount DESC

它正在从 MasterStudent 表中按生日获取重复记录,但我想从 masterStudent+BoardingPoint 获取记录

【问题讨论】:

  • 我有两张表 tblMasterStudent 和 tblBoardingPoint
  • 不就是ORDER BY z.dupCount DESC之前的另一个INNER JOIN tblBoardingPoint USING(student_number)吗?

标签: c# mysql sql linq


【解决方案1】:

您可以按生日分组并查看多次出现的所有生日:

SELECT count(1) as frequency, dob
FROM students
GROUP BY dob
HAVING frequency > 1;

【讨论】:

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