怎么写出这个效果的sql语句

来源:百度知道 编辑:UC知道 时间:2024/06/02 12:42:39
问大家一个问题。我想删除一些数据。可能一个月中有不定条数据。按天的。我想保留每月最大日期的数据。剩下的都删掉?按部门保留。要怎么写来删最方便?
如 A 1.1
A 1.2
A 1.3
A 2.2
B 1.2
B 2.1
B 2.2
最后应该留下 A1.3
A 2.2
B 1.2
B.2.2
SQL应该怎么写?
1.1;1.2是我简写。数据库实际是2009-01-01和2009-01-02这样的

DELETE A.* FROM 表名 A JOIN
(
SELECT 列1,MAX(列2) AS 列2 FROM 表名 GROUP BY 列1
) B ON (A.列1<>B.列1 AND A.列2<>B.列2)

DELETE tab
WHERE (col1, col2) NOT IN ( SELECT col1, MAX (col2)
FROM tab
GROUP BY name)

你可以不用sql语句来写,你可以用C#代码来写,就很简单了

delete from biaogemingcheng
where data<max(data)
group by date