Mysql >分组依据。。。您应该包括要分组的“选择”列表中的所有列,而不仅仅是特定列。这就是评论所说的。我不能假设会有atmost一个条目(假设它是一个唯一的键,使问题更容易)。我对我的问题进行了编辑,以反映我不能假设只有一个条目(做出该假设使其成为唯一的键,从而使

Mysql >分组依据。。。您应该包括要分组的“选择”列表中的所有列,而不仅仅是特定列。这就是评论所说的。我不能假设会有atmost一个条目(假设它是一个唯一的键,使问题更容易)。我对我的问题进行了编辑,以反映我不能假设只有一个条目(做出该假设使其成为唯一的键,从而使,mysql,sql,database,Mysql,Sql,Database,>分组依据。。。您应该包括要分组的“选择”列表中的所有列,而不仅仅是特定列。这就是评论所说的。我不能假设会有atmost一个条目(假设它是一个唯一的键,使问题更容易)。我对我的问题进行了编辑,以反映我不能假设只有一个条目(做出该假设使其成为唯一的键,从而使问题更容易解决)。我编辑了我的问题以反映这一点 --------------------------------------------------------------- |a_number | a_status | b_status |


>分组依据。。。您应该包括要分组的“选择”列表中的所有列,而不仅仅是特定列。这就是评论所说的。我不能假设会有atmost一个条目(假设它是一个唯一的键,使问题更容易)。我对我的问题进行了编辑,以反映我不能假设只有一个条目(做出该假设使其成为唯一的键,从而使问题更容易解决)。我编辑了我的问题以反映这一点
---------------------------------------------------------------
|a_number | a_status | b_status | ref_id | timepublished       |
|(text)   | (text)   | (text)   |(text)  | (datetime)          |
---------------------------------------------------------------
|1        | U        | U        | re1    | 2016-08-12 13:24:25 |
|1        | P        | U        | re1    | 2016-08-12 13:24:35 |
|1        | P        | P        | re1    | 2016-08-12 13:24:45 |
|2        | U        | U        | re2    | 2016-08-12 12:24:30 |
|2        | U        | F        | re1    | 2016-08-12 12:24:45 |
|4        | U        | U        | re3    | 2016-08-12 13:24:30 |
|4        | U        | U        | re4    | 2016-08-13 15:24:30 |
---------------------------------------------------------------
---------------------------------------------------------------
|1        | P        | P        | re1    | 2016-08-12 13:24:45 |
|2        | U        | F        | re1    | 2016-08-12 12:24:45 |
|4        | U        | U        | re3    | 2016-08-12 13:24:30 |
|4        | U        | U        | re4    | 2016-08-13 15:24:30 |
---------------------------------------------------------------
SELECT af.a_number
     , af.a_status
     , af.b_status
     , af.ref_id
     , af.timepublished
FROM af_biz af
 JOIN
 (SELECT MAX(timepublished) timepublished, ref_id
     FROM af_biz GROUP BY ref_id) tmp 
 ON tmp.timepublished = af.timepublished AND tmp.ref_id = af.ref_id
ORDER BY af.a_number;
---------------------------------------------------------------
|1        | P        | U        | re1    | 2016-08-12 13:24:45 |
|1        | P        | P        | re1    | 2016-08-12 13:24:45 |
|2        | U        | U        | re2    | 2016-08-12 12:24:45 |
|2        | U        | F        | re1    | 2016-08-12 12:24:45 |
|4        | U        | U        | re3    | 2016-08-12 13:24:30 |
|4        | U        | U        | re4    | 2016-08-13 15:24:30 |
---------------------------------------------------------------
SELECT 
   af.a_number
 , af.a_status
 , af.b_status
 , af.ref_id
 , af.timepublished
FROM af_biz af
INNER JOIN 
(
    SELECT 
     a_number,
     MAX(timepublished) max_timepublished
    FROM af_biz 
    GROUP BY a_number
) AS t
ON af.a_number = t.a_number AND af.timepublished = t.max_timepublished
ORDER BY af.a_number
select 
   testtable.a_number
  ,testtable.a_status
  ,testtable.b_status
  ,testtable.timepublished
 from testtable
  inner join
 (   select
       a_number
      ,max(timepublished) as date
     from
       testtable 
     group by
       a_number ) as anumberWithMaxDate
 on 
   testtable.a_number = anumberWithMaxDate.a_number and 
   testtable.timepublished = anumberWithMaxDate.date 
select 
    A_NUMBER,A_STATUS,B_STATUS,REF_ID,TIMEPUBLISHED
from  
    TABL
where 
    TIMEPUBLISHED in (select 
                          b.TIMEPUBLISHED
                      from 
                          (select 
                               A_NUMBER,max(TIMEPUBLISHED) as TIMEPUBLISHED
                           from TABL
                               group by A_NUMBER) b )
;