【发布时间】:2025-11-21 13:05:01
【问题描述】:
我是 SQL 新手,我试图运行这段代码来计算每个条目的频率,但我遇到了一个错误(并且不知道为什么 - 在这个环境中没有真正的调试, 只是“错误 22-322:语法错误,期待以下之一:;, ',', USING。& 错误 202-322: 选项或参数无法识别,将被忽略。”)。
顺便说一下,我正在使用 SAS Enterprise Guide 6.1 进行编译。任何帮助将非常感激!
proc sql;
create view work.temp as
select model_name, count(*) as frequency
from mytable_name
where model_type like '%Smartphones%'
and model_name not like '%Apple iPhone 5%'
group by model_name
order by count(*) desc
limit 10;
quit;
【问题讨论】:
-
您使用
proc sql是因为您想学习它,还是出于其他原因? -
我刚刚开始,每个人都在这里使用它——他们都只是在 SAS 中编译 SQL 代码。我正在努力学习它。
-
快速学习:每个 SQL 编译器都不同。 Oracle、SQL Server、mySQL、SAS 等都有不同的实现,它们基本相同,但在边缘有显着差异。
-
另外 - 您的 SAS 版本(如果您有 EG 6.1,可能是 9.4)比您的 Enterprise Guide 版本更重要。 EG 只是您的 IDE,它与后端的实际工作没有任何关系。
-
最后——如果你使用的是 SAS,至少要学一点普通的 SAS。使用内置程序,您在上面所做的很多事情都会变得更容易和更快。对于这种事情,
PROC FREQ和PROC MEANS几乎可以保证比PROC SQL快,因为它们针对它们正在做的事情进行了优化。