如何在表连接后的结果表中显示另一表的行数统计?
实现需求的SQL方案
完全可以实现,以下提供两种常用的SQL写法来达成你的需求:
方法一:先统计子查询再关联
先对T.1按订单号分组统计行数,再将统计结果与T.2关联,确保输出单条记录:
SELECT t2.`Order Num`, t2.Date, t1_stats.Line_Count FROM T.2 t2 INNER JOIN ( -- 统计T.1中每个订单的行数 SELECT `Order` AS order_num, COUNT(*) AS Line_Count FROM T.1 GROUP BY `Order` ) t1_stats ON t2.`Order Num` = t1_stats.order_num;
方法二:连接后直接分组统计
如果需要同时匹配日期(避免同订单不同日期的统计误差),可以直接连接两张表后分组统计:
SELECT t2.`Order Num`, t2.Date, COUNT(t1.DTE_KEY_NUM) AS Line_Count FROM T.2 t2 LEFT JOIN T.1 t1 ON t2.`Order Num` = t1.`Order` AND t2.Date = t1.Date -- 可选,根据业务需求决定是否匹配日期 GROUP BY t2.`Order Num`, t2.Date;
两种方法都能输出你预期的结果:
Order Num Date Line_Count 12345 10/12/22 4
内容的提问来源于stack exchange,提问作者Clevelandkid
相关产品推荐
相关产品推荐

