首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对联接结果进行排序和分组?

对联接结果进行排序和分组?
EN

Stack Overflow用户
提问于 2019-01-07 17:40:50
回答 1查看 15关注 0票数 1

我有以下查询

代码语言:javascript
复制
SELECT DISTINCT XCS_TASK.WORKFLOW_ID, 


XCS_TASK.COMPLETED_BY, 
XCS_WORKFLOW.OBJECT_KEY, 
XCS_WORKFLOW.OBJECT_TYPE_ID, 
XCS_WORKFLOW.END_DATE_TIME, 
XCS_WORKFLOW.START_DATE_TIME 

FROM `XCS_TASK` 

inner JOIN XCS_WORKFLOW ON 
XCS_TASK.WORKFLOW_ID = XCS_WORKFLOW.WORKFLOW_ID 
WHERE TASK_TYPE_ID = 124 


GROUP BY XCS_WORKFLOW.OBJECT_KEY
ORDER BY XCS_WORKFLOW.START_DATE_TIME DESC

问题是,我想获得OBJECT_KEY的最新记录。我知道上面的查询是错误的,因为它按组排列结果。我查看了使用MAX(DATE)函数,但在这个场景中无法让它工作。任何帮助或指示都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-07 17:47:42

您可以尝试加入OBJECT_KEY和最大日期的聚合结果(例如: start_date_time)。

代码语言:javascript
复制
SELECT  
  XCS_TASK.WORKFLOW_ID, 
  XCS_TASK.COMPLETED_BY, 
  XCS_WORKFLOW.OBJECT_KEY, 
  XCS_WORKFLOW.OBJECT_TYPE_ID, 
  XCS_WORKFLOW.END_DATE_TIME, 
  XCS_WORKFLOW.START_DATE_TIME 

FROM `XCS_TASK` 
INNER JOIN XCS_WORKFLOW ON XCS_TASK.WORKFLOW_ID = XCS_WORKFLOW.WORKFLOW_ID 
INNER JOIN  (

   SELECT
    XCS_WORKFLOW.OBJECT_KEY, 
    MAX( XCS_WORKFLOW.START_DATE_TIME ) max_date
  FROM XCS_WORKFLOW 
  GROUP BY OBJECT_KEY
) t ON t.OBJECT_KEY =  XCS_WORKFLOW.OBJECT_KEY 
  AND  XCS_WORKFLOW.OBJECT_KEY = t.max_date
WHERE TASK_TYPE_ID = 124 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54079235

复制
相关文章

相似问题

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