Sql 统计表中的重复记录

Sql 统计表中的重复记录,sql,Sql,我在表中有以下记录 需要以下格式的输出 要计算记录数,可以使用group by子句和要计算重复的列名,并使用count()计算这些列中相同值的行数。要获取ctn数量之和,您需要使用另一个聚合函数sum(ctn数量): 如果只想对重复的记录进行计数,则需要使用having子句: select hatchnumber, dechnumber, disport, pack ,sum(ctn_qty) ctn_qty, count(*) totalrecords from mytable group

我在表中有以下记录

需要以下格式的输出


要计算记录数,可以使用
group by
子句和要计算重复的列名,并使用
count()
计算这些列中相同值的行数。要获取ctn数量之和,您需要使用另一个聚合函数
sum(ctn数量)

如果只想对重复的记录进行计数,则需要使用
having
子句:

select hatchnumber, dechnumber, disport, pack ,sum(ctn_qty) ctn_qty, count(*) totalrecords
from mytable 
group by hatchnumber, dechnumber, disport, pack, ctn_qty
having count(*)>1

您需要简单的聚合,请参见


我已将该表命名为实用表。希望这将为您的愿望输出工作

SELECT HatchNumber,DeckNumber,DisPort, pack, 
SUM(ctn_qty) as ctn_qty,     
COUNT(HatchNumber) as TotalRecords
FROM practiceTable
GROUP BY HatchNumber,DeckNumber,DisPort, pack

大概,您需要
分组方式
。你试过什么?
select HatchNumber, DechNumber, DisPort, Pack,
  sum(ctn_qty) ctn_qty, count(*) TotalRecords
from T
group by HatchNumber, DechNumber, DisPort, Pack
SELECT HatchNumber,DeckNumber,DisPort, pack, 
SUM(ctn_qty) as ctn_qty,     
COUNT(HatchNumber) as TotalRecords
FROM practiceTable
GROUP BY HatchNumber,DeckNumber,DisPort, pack