首页 > 解决方案 > GROUP BY 返回重复值

问题描述

我需要记录我的同事创建的所有票号及其创建日期。这样做后,我使用 GROUP BY 没有重复的票号,但我仍然得到 3 - 5 个重复值。

代码:

SELECT        A.TICKET_NUMBER, A.CREATED_BY B.DATE_CREATED, 
FROM          Records AS A INNER JOIN
              (SELECT MAX(SYS_CREATED_ON) AS DATE_CREATED, TICKET_NUMBER
               FROM TIME_STAMP
               GROUP BY TICKET_NUMBER) AS B ON A.TICKET_NUMBER = b.TICKET_NUMBER 
ORDER BY DATE_CREATED DESC

这是示例表:

TICKET_NUMBER    CREATED_BY    DATE_CREATED
TI123123         JOHN          2018-07-10 12:07:56
TI123123         JOHN          2018-07-10 12:07:56
TI123123         JOHN          2018-07-10 12:07:56
TI123123         JOHN          2018-07-10 12:07:56
TI123124         PETER         2018-07-10 12:07:54
TI123124         PETER         2018-07-10 12:07:54
TI123124         PETER         2018-07-10 12:07:54
TI123124         PETER         2018-07-10 12:07:54

标签: sql

解决方案


我不确定您的表结构,但如果您的示例表是正确的,那么您可以尝试以下操作:

SELECT
  A.TICKET_NUMBER, 
  Max(A.CREATED_BY),
  Max(A.DATE_CREATED)
From 
  Yourtable A
Group by
  A.TICKET_NUMBER

推荐阅读