テーブルから中央の行を選択するクエリを作成しました。
with records as(select row_number() over(order by someKey) as 'row', *
from MyTable)
select *
from records
where row=(select (count(*)/2) from records)
MyTable
これは、空のデータセットを返す行が 1 つしかない場合を除いて、正常に機能します。これは、その特定のケースでは、1/2 がゼロに切り捨てられたためだと思いました。それで試してみceiling( count(*)/2 )
ましたが、同じ結果が得られました。count(*)/2
float 演算を使用するにはどうすればよいですか?