1

上位 20% の順序付けされた結果を選択しようとしており、テーブルに残っています (下位 80%)。

私がする時

select top (20)percent from table 1

以降

select top (80)percent from table 1 order by desc

2 つの異なるクエリとして、結果を取得します。しかし、ここでの問題は、レコードが順序付けられた列に同じ値を持っている場合、選択がコンテンツではないため、同じレコードを再度選択する可能性があることです。

テーブル内の上位 20% を明確に選択し、残りの 80% のレコードを選択できるように、何か良い方法を提案できますか?

4

1 に答える 1

9

上位 20% を取得するには:

select top (20) percent from table1 order by <something>

残りの 80% が必要な場合は、上位 20% に含まれていないすべてのものです。それで:

select * from table1
except
select top(20) percent from table1 order by <something>
于 2013-08-23T12:36:56.373 に答える