我的表有一个3列的复合键
st_id, sj_id, order
并希望根据特定的st_id和sj_id删除一行并取最大值(顺序)
你能帮忙吗?
答案 0 :(得分:1)
据我所知,你需要分两步完成这个步骤(这是从内存开始的,所以可能不会第一次编译):
DELETE
FROM table
WHERE st_id = my_st_id
AND sj_id = my_sj_id
AND order IN (
SELECT MAX(order)
FROM table
WHERE st_id = my_st_id
AND sj_id = my_sj_id)
这样做首先执行内部(SELECT)查询,返回最大顺序。然后将这些结果传递给执行删除的外部查询。