0

たとえば、販売者ごとに上位 10 位の顧客のみを取得したいと考えています。したがって、次のようになります (トップ 10 なし)。

Select seller, customer, sells from table order by seller asc, sells desc

しかし、これですべての値が得られます。各販売者の最初の 10 人の顧客のみが必要です。

これは ms-access 2003 でも可能ですか? はいの場合、ヒントを教えてください、ありがとう;)

4

1 に答える 1

2

次の行で:

SELECT seller,
       customer,
       sells
FROM   table a
WHERE  customerid IN (SELECT TOP 10 customerid
                      FROM   table b
                      WHERE  b.sellerid = a.sellerid
                      ORDER  BY sells DESC)
ORDER  BY seller ASC,
          sells DESC 

MS Access は一致を返すため、10 を超える結果が返される可能性があることに注意してください。正確に 10 個が必要な場合は、販売だけでなく一意の ID で注文することもできます。

于 2012-10-31T12:05:58.273 に答える