SELECT
a.sid,max(a.id),COUNT(a.id)AS idcount
FROM
vr_report AS a
GROUPBY
a.sid
HAVINGCOUNT(a.id)>1ORDERBY
a.sid ASC
搜索表,当sid相同,但id不为最高id的时候
SELECT
b.*FROM
vr_report AS b
WHERE
b.sid IN((SELECT
a.sid
FROM
vr_report AS a
GROUPBY
a.sid
HAVINGCOUNT( a.id )>1))AND b.id NOTIN((SELECTMAX( c.id )FROM
vr_report AS c
GROUPBY
c.sid
HAVINGCOUNT( c.id )>1))ORDERBY
b.sid ASC
用select 做一个中转表, 直接使用会报错
SELECT
d.id
FROM(SELECT
b.*FROM
vr_report AS b
WHERE
b.sid IN((SELECT
a.sid
FROM
vr_report AS a
GROUPBY
a.sid
HAVINGCOUNT( a.id )>1))AND b.id NOTIN((SELECTMAX( c.id )FROM
vr_report AS c
GROUPBY
c.sid
HAVINGCOUNT( c.id )>1))ORDERBY
b.sid ASC)AS d
删除非必要信息
DELETEFROM
vr_report
WHERE
id IN(SELECT
d.id
FROM(SELECT
b.*FROM
vr_report AS b
WHERE
b.sid IN((SELECT
a.sid
FROM
vr_report AS a
GROUPBY
a.sid
HAVINGCOUNT( a.id )>1))AND b.id NOTIN((SELECTMAX( c.id )FROM
vr_report AS c
GROUPBY
c.sid
HAVINGCOUNT( c.id )>1))ORDERBY
b.sid ASC)AS d)