【发布时间】:2014-12-19 18:00:58
【问题描述】:
使用以下查询:
SELECT STAT, SHNO, ORDERNO FROM BLUEWATER ORDER BY SHNO;
我可以得到以下信息:
STAT SHNO ORDERNO
40 ASN123 40303020
40 ASN123 40303020
30 ASN124 40303021
30 ASN124 40303021
30 ASN125 40303021
我正在寻找一个查询,它将消除重复的 SHNO 行,然后创建第四列,它是 ORDERNO 重复次数的总和(这个总数是在消除 SHNO 重复之后计算的)。
目标数据库是 DB2。我目前不知道是什么版本,但会设法确定这一点,尽管我假设不是最新版本。
我的目标是产生以下内容的查询:
STAT SHNO ORDERNO ORDERNOTOTAL
40 ASN123 40303020 1
30 ASN124 40303021 2
30 ASN125 40303021 2
解决方案需要避免使用 PARTITION 关键字,因为这个版本的 DB2 不接受它。
【问题讨论】:
-
以下哪个查询?您可以发布生成第一个示例的代码吗?
-
总和是指计数吗?如果是这样,您所需示例中的 asn123 和 asn125 看起来好像是错误的方式?