You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让SQL查询仅返回每行对应的最大Ship_To_Zip值?

解决SQL查询返回多行相同订单邮编的问题

你的问题出在GROUP BY子句里包含了H.v3samzip——这会让每一个不同的邮编都单独成为一个分组,所以即使你用了max(H.v3samzip),每个分组还是会返回对应的邮编,最终就出现了同一订单多条邮编记录的情况。

要实现每个订单只返回最大邮编的单行记录,只需要把H.v3samzip从GROUP BY里移除即可,修改后的SQL如下:

select
  d.V4ORD as Order_Number,  
  d.v4cust as Customer_Number,
  d.v4scusn as Customer_name, 
  d.v4itd3 as Equipment_ID,
  d.v4snam1 as SalesPerson,
  max(H.v3samzip) as Ship_To_Zip
from [].[HTSTRDP0] d  
left join [].[HTSTRHP0] H 
on D.V4INV=H.V3INVOICE 
  and d.v4ord=h.V3ORD 
  and d.v4cust=h.V3CUS and d.v4indt =h.V3INVDT
where d.V4DIV='3' 
  and left(d.v4item,3) in ('NTS','UTS','FTS') 
  and V4INDT>'20240101'
  and d.v4cust='YANK007' and d.v4itd3='014436-2001STOUGHT            '
group by 
  d.V4ORD , 
  d.v4cust,
  d.v4scusn, 
  d.v4itd3 ,
  d.v4snam1

修改后,GROUP BY只会按订单号、客户号等你需要聚合的字段分组,每个分组计算出最大的邮编,最终每个订单只会返回一条记录,就是包含最大v3samzip值的那一行。

修改后预期结果:

Order NumberCustomer NumberEquipment IDSalesPersonShip To Zip
1425397YANK007014436-2001STOUGHTBriggs, Patrick01373-011

内容的提问来源于stack exchange,提问作者tgruntzel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 21:52:42