-1

これは私の最初のカウント クエリと結果セットです。最大クエリを機能させる方法がわかりません。

クエリ

SELECT QM_CUST_CODE, QM_XX_REGION, COUNT(QM_QUOTE_NUM) as Quotes
FROM QM (NOLOCK)
WHERE QM_CUST_CODE in ('H-PAT001', 'H-ABI002')
GROUP BY QM_CUST_CODE, QM_XX_REGION

結果

QM_CUST_CODE    QM_XX_REGION    Quotes
1  H-ABI002     0           1
2  H-PAT001     0           3
3  H-ABI002     1           397
4  H-PAT001     1           1509
5  H-PAT001     2           1

-- 問題 行 3 と 4 のみを返すにはどうすればよいですか。これは、地域ごとの顧客コードであり、引用符の数が MAX であるためです。

4

2 に答える 2

0

引用符の数が最も多い2つの行を取得したいだけの場合は、これを試してください:

Select Top 2 * From
(
SELECT QM_CUST_CODE, QM_XX_REGION, COUNT(QM_QUOTE_NUM) as Quotes
FROM QM
WHERE QM_CUST_CODE in ('H-PAT001', 'H-ABI002')
GROUP BY QM_CUST_CODE, QM_XX_REGION
)tbl
Order By  Quotes Desc
于 2013-03-22T07:04:22.853 に答える
0
WITH recordsList
AS
(
    SELECT  QM_CUST_CODE, QM_XX_REGION, COUNT(QM_QUOTE_NUM) as Quotes,
            DENSE_RANK() OVER  (PARTITION BY QM_CUST_CODE 
                                ORDER BY COUNT(QM_QUOTE_NUM) DESC) rn
    FROM    QM
    WHERE   QM_CUST_CODE in ('H-PAT001', 'H-ABI002')
    GROUP   BY QM_CUST_CODE, QM_XX_REGION
)
SELECT  QM_CUST_CODE, QM_XX_REGION, Quotes
FROM    recordsList
WHERE   rn = 1
于 2013-03-22T06:53:47.400 に答える