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 )
;