Я использую DB2. У меня есть этот запрос: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
5. 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 не нравится выражение счетчика в операторе отбора. Я думаю, что мне понадобится составной элемент, подобный этому http://stackoverflow.com/questions/5247378/how-do-i-do-count-with-a-group-by-clause-in-db2 – Angelo
@Angelo Хмм хорошо. Документация DB2 предполагает, что она должна работать, вы получили сообщение об ошибке при ее запуске? – jpw
@ Ангело. , , Что такое тип данных 'ORDER_NUMBER'? 'COUNT()' работает практически для всех типов данных, за исключением некоторых необычных, таких как blobs. Если 'COUNT (ORDER_NUMBER)' не работает, попробуйте 'COUNT (*)'. –