开发者社区> 问答> 正文

我如何从每个客户端的表中仅获取1个值,并从相同但具有不同值的所有值中获取所有值

我需要建立查询,如果客户端状态为“ 5”,那么我会得到所有行;如果客户端状态只有“ 6”,那么我只会从中得到一个,而最新的

CREATE TABLE #test (
ClientID INT NULL,
StatusID INT NULL,
Date DATE null

)
INSERT INTO #test
(
    ClientID,
    StatusID,
    Date
)
SELECT 1001,5,'20190909'
UNION all
SELECT 1001,5,'20190908'
UNION  all
SELECT 1002,5,'20190909'
UNION  all
SELECT 1002,6,'20190910'
UNION  all
SELECT 1003,6,'20190909'
UNION all
SELECT 1003,6,'20190910'

展开
收起
心有灵_夕 2019-12-25 21:39:51 827 0
1 条回答
写回答
取消 提交回答
  • 如果最新的平均最大值(日期)则:

    select top 1  *
    from
     test
     where StatusID=6
    union  all(
    
    select * from 
    test
     where StatusID=5)
    order by Date desc
    
    2019-12-25 21:40:09
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载