我有一张名为“交易”的桌子,它有这样的记录。
id deal_ref objectname status
1 1234 tom correct
2 1234 tom correct
3 1234 jerry wrong
4 1234 tom correct我需要标识状态“正确”的所有最新交易,但最后一项(第4行)必须满足以下条件,其中最大ID等于deal_ref,状态正确
我试过这个
select distinct deal_ref, deal_status
from dealv1 d
where d.deal_ref = max(id)
and d.deal_status = 'Prospect'
and date_created between '2022-11-02 00:00:00' and '2022-11-04 00:00:00' 发布于 2022-11-08 09:33:11
在SQL中使用比表中的其他名称(deal_status、date_created)。不过,请试着做以下工作:
SELECT *
FROM dealv1 d
WHERE status = 'correct'
ORDER BY ID DESC
LIMIT 1我不太明白你想用maxID做什么。您只想要deal_ref=max(id)和状态正确的一行?然后添加
AND deal_ref = (SELECT MAX(id) from dealv1)在上述语句中的“更正”之后。
发布于 2022-11-10 09:33:52
下面的查询工作正常,但它显示了多个具有相同deal_refs的deal_ref,例如,在彼此下面2行,其中deal_ref 1234两次。
SELECT *
FROM dealv1 d
WHERE status = 'correct'
ORDER BY ID DESC
LIMIT 1https://stackoverflow.com/questions/74358309
复制相似问题