首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql数据提取

Mysql数据提取
EN

Stack Overflow用户
提问于 2022-11-08 09:22:18
回答 2查看 24关注 0票数 0

我有一张名为“交易”的桌子,它有这样的记录。

代码语言:javascript
复制
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,状态正确

我试过这个

代码语言:javascript
复制
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' 
EN

回答 2

Stack Overflow用户

发布于 2022-11-08 09:33:11

在SQL中使用比表中的其他名称(deal_status、date_created)。不过,请试着做以下工作:

代码语言:javascript
复制
SELECT *
FROM dealv1 d
WHERE status = 'correct'
ORDER BY ID DESC
LIMIT 1

我不太明白你想用maxID做什么。您只想要deal_ref=max(id)和状态正确的一行?然后添加

代码语言:javascript
复制
AND deal_ref = (SELECT MAX(id) from dealv1)

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

票数 0
EN

Stack Overflow用户

发布于 2022-11-10 09:33:52

下面的查询工作正常,但它显示了多个具有相同deal_refs的deal_ref,例如,在彼此下面2行,其中deal_ref 1234两次。

代码语言:javascript
复制
SELECT *
FROM dealv1 d
WHERE status = 'correct'
ORDER BY ID DESC
LIMIT 1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74358309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档