Proc SQL
не реализует текущие современные предложения, такие как LIMIT
, OFFSET
, FETCH
, и не имеет функций разделения, с которыми вы, возможно, знакомы.
Тем не менее, вы не можетестрока ограничивает вывод отсортированного вложенного выбора или представления, однако вы можете ограничить вывод таблицей, используя параметр OUTOBS
.
В этом примере создаются две таблицы, каждая из которых соответствует ограничению дополнительного выбора.строки отсортированного результирующего набора.Параметр сбрасывается перед объединением.
proc sql;
reset outobs=10;
create table have_ss1 as
select distinct msrp as msrp_1
from sashelp.cars
group by model
;
create table have_ss2 as
select distinct msrp as msrp_2
from sashelp.cars
group by model
;
reset outobs=&sysmaxlong;
create table want as
select * from have_ss1
outer union
select * from have_ss2
;
В окне журнала SAS отображаются информационные предупреждения, такие как:
WARNING: A GROUP BY clause has been transformed into an ORDER BY clause because neither the
SELECT clause nor the optional HAVING clause of the associated table-expression
referenced a summary function.
WARNING: The query as specified involves ordering by an item that doesn't appear in its SELECT
clause. Since you are ordering the output of a SELECT DISTINCT it may appear that some
duplicates have not been eliminated.
WARNING: Statement terminated early due to OUTOBS=10 option.