sql - db2 特定于不同行数的查询

标签 sql db2 ibm-midrange

我正在使用 DB2。我有这个查询:

SELECT DISTINCT 
ORDER_NUMBER,
trdm as TRADEMARK,
cmdnsm as CUSTOMER_NAME
FROM DB1.ORDFA
JOIN DB2.CCADF ON SFORD# = WDRSO
JOIN DB2.DADA06 ON WD3ADF = WD3FLA
JOIN DB1.CMP1 ON C1LK2 = SF2LK
WHERE YEAR = '14' AND PART = '5484'
ORDER BY CUSTOMER_NAME, TRADEMARK

我从上面的查询中得到了这个结果集

order_number    trademark      customer_name
  2220824.        AIR          EPR PRODUCTS INC
  2254614.       AVALON        EPR PRODUCTS INC
  2214146.       AVALON        EPR PRODUCTS INC
  2338002.       AVALON        EPR PRODUCTS INC
  2102733.       BOSS          EPR PRODUCTS INC
  2286148.        CDC          EPR PRODUCTS INC
  2116148.        CDC          EPR PRODUCTS INC
  2032105.        HC           SUMMLC
  2014046.        HC           SUMMLC
  2232312.       SDEXO         SUMMLC
  2267369.       SDEXO         SUMMLC
  2085280.       SDEXO         SUMMLC
  2170433.       SDEXO         SUMMLC
  2179283.       SDEXO         SUMMLC
  2378745.       SDEXO         SUMMLC

我需要的是一个可以给我这个结果集的 DB2 查询:

 NUM_ORDERS      TRADEMARK      CUSTOMER_NAME
     6            SDEXO          SUMMLC
     3            AVALON         EPR PRODUCTS INC
     2            CDC            EPR PRODUCTS INC
     2            HC             SUMMLC
     1            BOSS           EPR PRODUCTS INC
     1            AIR            EPR PRODUCTS INC

最佳答案

如果 DB2 支持 ansi 标准 sql,我相信您只需要添加一个countgroup by:

SELECT 
    COUNT(DISTINCT ORDER_NUMBER) AS NUM_ORDERS,
    trdm as TRADEMARK,
    cmdnsm as CUSTOMER_NAME
FROM DB1.ORDFA
JOIN DB2.CCADF ON SFORD# = WDRSO
JOIN DB2.DADA06 ON WD3ADF = WD3FLA
JOIN DB1.CMP1 ON C1LK2 = SF2LK
WHERE YEAR = '14' AND PART = '5484'
GROUP BY trdm, cmdnsm
ORDER BY NUM_ORDERS DESC, CUSTOMER_NAME, TRADEMARK

关于sql - db2 特定于不同行数的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27019327/

相关文章:

sql - 合并 SQL 多个插入语句不是一个选项

sql - 在 go 中将 "SELECT *"列读入 []string

python - 我不明白为什么其中一个有效而另一个无效。请解释我如何错误地处理这个字符串

java - 从 Java 访问 iSeries 上的 RPG

asp.net - 连接到 AS400 时如何在 ASP.Net MVC 上设置动态连接字符串用户名和密码

mysql - SQL中 "UPDATE table SET column1 = value AND column2 value WHERE condition"是什么意思?

MySQL SELECT Count 语句问题

java - eclipse的插件或工具,可以以图形pic格式显示表之间的连接性

db2 - 在 DB2 中转换为货币或货币格式

grails - 我可以使用db2 jdbc驱动程序使Grails Web应用程序不提交吗?