首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用联接表从每个ID相同的记录中获取最大记录值

如何使用联接表从每个ID相同的记录中获取最大记录值
EN

Stack Overflow用户
提问于 2014-12-29 02:40:21
回答 1查看 961关注 0票数 0

我不知道从许多具有相同id并与另一个表连接的记录中获得最大记录值。我希望有人能在这里帮我。

这张桌子:

order_id

517成本

617B.=.

14/T5109.1-1988技术技术

617 /617/T1455.5-1997商业合同转嫁性、转嫁性、转轨性

我想要的结果是这样的:

order_id

517商品

617/T1459.6-1996商业、商业、金融、金融、商业、金融、金融等行业的商业、金融、金融等行业的商业、金融等行业的发展

我尝试了这个查询,但是它只给出了一个结果:

代码语言:javascript
复制
WITH t AS   
(SELECT x.order_id,x.name,x.extern_order_status as extern,y.result1, y.result2, y.result3, 
t_logging_max.xd1 as max_date,
p_agent_admin.username as admin,
MAX(y.seq) AS seq2  
FROM   t_order_demand x      
LEFT OUTER JOIN
  (
      SELECT id,xn1, MAX(xd1) AS xd1
      FROM t_logging
      GROUP BY id,xn1
  ) t_logging_max ON x.order_id = t_logging_max.id
LEFT JOIN
  (
      SELECT agent_id,username
      FROM p_agent
      GROUP BY agent_id,username
  ) p_agent_admin ON t_logging_max.xn1 = p_agent_admin.agent_id       
JOIN   t_order_log y      
ON     x.order_id = y.order_id    
and    y.order_id LIKE '%10%'         
GROUP  BY x.order_id,x.name,x.extern_order_status,y.result1, y.result2,y.result3,t_logging_max.xd1,p_agent_admin.username) 
SELECT * FROM   t WHERE (t.seq2) IN (SELECT MAX(tt.seq2) FROM t tt);

实际上,必须有超过2个id有%10%的记录

希望你能帮我。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-29 02:48:47

Group byMax Aggregate一起工作。除了Admin列,该列包含一个varchar值。

代码语言:javascript
复制
SELECT order_id,
       NAME,
       Max(result1) result1,
       Max(result2) result2,
       Max(result3) result3,
       Max(max_date) max_date,
       Max(admin) admin,
       Max(seq2) seq2,
       Max(extern) extern
FROM   tablename
GROUP  BY order_id,
          NAME 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27682770

复制
相关文章

相似问题

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