首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >希望仅选择集合中的第一个

希望仅选择集合中的第一个
EN

Stack Overflow用户
提问于 2021-11-26 14:17:39
回答 1查看 24关注 0票数 0

在我的查询中,我能够成功地提取大量数据,但是,如果我能够深入到只选择数据集的第一个项目开始日期,这将是非常有帮助的。

我试着在我的查询中添加一个(MIN),但它出错了,有什么建议吗?

为了澄清,我希望选择一个特定的合同的第一个项目开始日期。任何合同都可以有(n)个项目。我的目标是检测出其中的第一个。

下面是我的问题:

代码语言:javascript
运行
复制
SELECT DISTINCT CONT.CONTRACTNUMBER as "Contract Number",

            CS.PRODUCTID as "Product ID",

            PROJ.PROJECTID as "Project ID",

            PR.PRODDESCRIPTION as "Product Description",

            PROJ.PROJECTNAME as "Project Name",

            CS.STARTDT as "Contract Service/ Product Start DT",

            CONT.CONTRACTStartDT as "Contract Start DT",

            PROJ.PROJECTSTARTDT as "Project Start DT",

Datediff(DAY, CS.STARTDT, PROJ.PROJECTSTARTDT) as "# Day Difference"

FROM   PRODUCTDATA.DBO.HHCONTRACTSERVICE CS WITH(NOLOCK)

LEFT OUTER JOIN COSTTRACKERDATA.DBO.OAPROJECT PROJ WITH(NOLOCK)

ON CS.DID = PROJ.EXTERNALID

LEFT OUTER JOIN PRODUCTDATA.DBO.HHCONTRACT CONT WITH(NOLOCK)

ON CS.CONTRACTDID = CONT.DID

LEFT OUTER JOIN FIGURES..DIMPRODUCT PR WITH(NOLOCK)

ON CS.PRODUCTID = PR.PRODUCTID

AND PR.SUBPRODUCTLINE IN ( 'S', 'S' )

WHERE  CS.STARTDT BETWEEN '2020-01-01' AND '2021-11-11'

AND PROJ.PROJECTSTARTDT <> '1970-01-01 00:00:00.000'

order by [Contract Number], [Project Start DT]
EN

回答 1

Stack Overflow用户

发布于 2021-11-26 14:21:33

是列表中的第一个日期还是列表中的最早日期?

无论哪种方式,您都可以按您想要的方式对列表进行排序,并在末尾添加limit 1。这将只给你第一行。

在SELECT语句中使用LIMIT子句来限制要返回的行数。

https://www.mysqltutorial.org/mysql-limit.aspx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70125824

复制
相关文章

相似问题

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