如何让我的 SQL 查询删除最近的记录?
How can I get my SQL query to delete the most recent record?
我正在尝试删除最近的记录,其中 job_id 等于状态已暂停且不知道此类功能的作业的 ID。有办法吗?
DELETE FROM
records
WHERE
**due_date = most recent**
AND job_id IN (
SELECT
id
FROM
jobs
WHERE
status = 'paused'
)
试试下面的查询。
DELETE FROM records WHERE due_date IN
( SELECT due_date FROM records ORDER BY due_date DESC LIMIT 1)
and job_id IN (SELECT id FROM jobs WHERE status = 'paused') ;
我假设以下 table 架构,否则请更正
CREATE TABLE records(Id integer PRIMARY KEY, due_date date,name varchar2,job_id integer);
CREATE TABLE jobs(Id integer PRIMARY KEY, status varchar2);
INSERT INTO records VALUES(1,'17/12/2015','1','3');
INSERT INTO records VALUES(2,'17/12/2020','2','3');
INSERT INTO jobs VALUES(3,'paused');
INSERT INTO jobs VALUES(4,'paused');
COMMIT;
我正在尝试删除最近的记录,其中 job_id 等于状态已暂停且不知道此类功能的作业的 ID。有办法吗?
DELETE FROM
records
WHERE
**due_date = most recent**
AND job_id IN (
SELECT
id
FROM
jobs
WHERE
status = 'paused'
)
试试下面的查询。
DELETE FROM records WHERE due_date IN
( SELECT due_date FROM records ORDER BY due_date DESC LIMIT 1)
and job_id IN (SELECT id FROM jobs WHERE status = 'paused') ;
我假设以下 table 架构,否则请更正
CREATE TABLE records(Id integer PRIMARY KEY, due_date date,name varchar2,job_id integer);
CREATE TABLE jobs(Id integer PRIMARY KEY, status varchar2);
INSERT INTO records VALUES(1,'17/12/2015','1','3');
INSERT INTO records VALUES(2,'17/12/2020','2','3');
INSERT INTO jobs VALUES(3,'paused');
INSERT INTO jobs VALUES(4,'paused');
COMMIT;