Specify percentage number to get

Operating environment

SQL Server
  • SQL Server 2005
  • SQL Server 2008
  • SQL Server 2008 R2
  • SQL Server 2012
  • SQL Server 2012 R2
  • SQL Server 2014

Tested environment

SQL Server
  • SQL Server 2008
  • SQL Server 2012 R2

Content

取得する件数のうち「上位N件」を取得したい場合は「TOP 句」を使用できますが、この件数を割合で取得することもできます。割合で取得するには「TOP - PERCENT」を使用します。

10,000 件のレコードを持つテーブルを Select する際の例です。TOP 句を使用しない場合は 10,000 件取得されます。

select * from [TST_Tag01]

TOP 句を使用しない SELECT

次の例は TOP 句で指定した件数を取得したものです。

select top 200 * from [TST_Tag01]

TOP 句を使用した SELECT

次の例は TOP 句で PERCENT を指定した件数を取得したものです。40 を指定しているので 40% 分のレコードを取得していることになります。

select top (40) percent * from [TST_Tag01]

TOP 句に PERCENT を使用した SELECT

PERCENT には小数も含めることができます。

select top (3.5) percent * from [TST_Tag01]

TOP 句に小数を含む PERCENT を使用した SELECT

PERCENT に指定できる数値は 0 ~ 100 を指定することができます。

また、PERCENT を使用する場合は数値を丸かっこ「()」で囲んでください。これは互換性を考慮したものですが、括弧で囲まないとエラーになる場合もありますので確実に括弧を使用してください。