1
select count(*) from tableA having product="abc";
select count(*) from tableA where product="abc";
爲什麼outpur與上述語句不同,因爲兩者都是相同的? 這可能嗎?SAS SQL其中有
select count(*) from tableA having product="abc";
select count(*) from tableA where product="abc";
爲什麼outpur與上述語句不同,因爲兩者都是相同的? 這可能嗎?SAS SQL其中有
WHERE
將篩選進入計算的記錄。 HAVING
可篩選返回的結果行。
如果你運行你的第一個查詢,則SAS會提醒你,這是remerging與原始數據的結果,因爲你是你的HAVING子句中引用非彙總統計變量。請注意,如果沒有原始記錄符合您的HAVING子句,那麼您的結果集中不會有任何意見。但是,如果ANY記錄符合您的查詢條件,那麼您將對每個符合HAVING條款的觀察結果單獨進行觀察,但計數是針對所有觀察結果的,因爲沒有一條觀測結果被過濾。
試試這個查詢。
proc sql ;
select 'HAVING',count(*) from sashelp.class having name like 'A%'
union all
select 'WHERE',count(*) from sashelp.class where name like 'A%'
;
quit;
然後換A%
到Z%
並重新運行。
在常規條件下使用,並具有聚合函數條件。 – jarlh