首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >匹配第一次日期条件的SQL记录

匹配第一次日期条件的SQL记录
EN

Stack Overflow用户
提问于 2013-06-29 19:33:17
回答 5查看 8.3K关注 0票数 1

我有以下几点

代码语言:javascript
复制
user_id job_id job_offer_date 
------- ------ --------------
1          123     2013-05-10 
1          124     2013-07-19
2          127     2013-05-10
3          128     2013-06-15 

我想在这里写两个单独的查询,以便在报告中使用:

查询#1 (我已经开始工作了)

此查询希望在2013-5-10年之前返回其第一个职务提供日期的所有用户。这是一个简单的查询,因为如果用户在该日期之前有任何作业,它将返回他。在本例中,我将看到用户#1,#2。

此查询如下所示:

代码语言:javascript
复制
SELECT DISTINCT j.* FROM job WHERE j.job_offer_date <= '2013-05-10'

查询#2 (这是我真正的问题)

我如何返回用户的第一份工作提供日期是在2013年-5-10和之前的2013年-7-19。在这种情况下,由于用户1在2013-5-10年之前有了他的第一份报价,所以他不应该被包括在结果中。这个结果集应该只包括用户#3。

这里最重要的关键是,因为用户#1在2013-5-10年之前已经有了他的第一份服务,所以他应该被排除在查询2中的结果集中。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-06-29 20:00:19

一组相关的第一份工作。

代码语言:javascript
复制
select user_id, min(job_offer_date) as first_offer
from job
group by user_id
having min(job_offer_date) > '2013-05-10'
   and min(job_offer_date) < '2013-07-19'

加入该集,以获得用户。我猜用户数据存储在用户表中。

代码语言:javascript
复制
select u.*
from users u
inner join (select user_id, min(job_offer_date) as first_offer
            from job
            group by user_id
            having min(job_offer_date) > '2013-05-10'
               and min(job_offer_date) < '2013-07-19') o
        on o.user_id = u.user_id;
票数 1
EN

Stack Overflow用户

发布于 2013-06-29 19:36:40

如果我正确地记住了我的SQL date内容,它会不会是这样的:

代码语言:javascript
复制
SELECT DISTINCT j.* FROM job WHERE j.job_offer_date > '2013-05-10' AND j.job_offer_data < '2013-7-19'

编辑:我误解了你的问题。上面将查找在列出的两个日期之间有作业的任何用户(但不是在这两个日期)。奥利·内切特罗有一个更好的答案。

票数 0
EN

Stack Overflow用户

发布于 2013-06-29 19:41:23

代码语言:javascript
复制
select user_id, job_id, job_offer_date
from 
    (select user_id
        , job_id
        , job_offer_date
        , row_number() over 
                (partition by user_id order by job_offer_date) rown 
     from job) sub
where sub.rown = 1 and sub.job_offer_date > '2013-05-10' and sub.job_offer_date < '2013-07-19'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17383994

复制
相关文章

相似问题

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