【发布时间】:2021-10-05 18:56:49
【问题描述】:
这行代码很简单,我明白查询会返回什么。我正在尝试理解这段代码的第三行。
select First
, sum(rbi) as 'rbis'
**, count(*) as 'num_players'**
from #batter_stats
group by First
having count(*) >= 5
order by [rbis] desc
count(*) as 'num_players' 让我对它在此查询中的作用感到困惑。
谢谢。我提供了代码行和数据表。
【问题讨论】:
-
count(*)这里只表示行数,having count(*) > = 5表示至少要有5行。 -
附带说明:查询无效。名称的 SQL 定界符是双引号
"。一些 DBMS 需要括号。你在这里使用它们:order by [rbis] desc。但是单引号用于字符串文字。所以as 'rbis'是不正确的,应该是as "rbis"或as '[rbis]或只是as rbis。由于您的所有名称都是 SQL 中的有效名称,因此我建议您完全删除引号和括号。它们不是必需的。