Mysql数据提取

qlfbtfca  于 2022-11-21  发布在  Mysql
关注(0)|答案(2)|浏览(111)

我 有 一 个 名 为 deals 的 表 , 它 包含 这样 的 记录

id deal_ref objectname  status
1  1234      tom        correct
2  1234      tom        correct
3  1234      jerry      wrong
4  1234      tom        correct

中 的 每 一 个
例如 , 我 需要 确定 状态 为 " correct " 的 所有 最 新 交易 , 但 最 后 一 个 条目 ( 第 4 行 ) 必须 满足 以下 条件 , 其中 Max ID 等于 deal _ ref 且 状态 为 " correct
我 试 过 这个

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'

格式

oalqel3c

oalqel3c1#

您在SQL中使用了其他名称,而不是表中的名称(deal_status,date_created)。不过,请尝试执行以下操作:

SELECT *
FROM dealv1 d
WHERE status = 'correct'
ORDER BY ID DESC
LIMIT 1

我不知道你到底想用maxID做什么。你只想要deal_ref=max(id)并且status是正确的那一行吗?那么添加

AND deal_ref = (SELECT MAX(id) from dealv1)

在上述语句的“正确”之后。

np8igboo

np8igboo2#

伙计们,下面的查询是有效的,但它显示了多个具有相同deal_ref的deal_ref,例如,deal_ref 1234的两行位于彼此的下面。

SELECT *
FROM dealv1 d
WHERE status = 'correct'
ORDER BY ID DESC
LIMIT 1

相关问题