SQL :有条件地 select 列基于聚合值
SQL : Conditionally select column based on aggregate value
这个问题的答案:
显示每年雇用的操作员总数。
这是:
SELECT
COUNT(YEAR(HireDate)) AS 'Count',
YEAR(HireDate) AS 'Year'
FROM Operators
GROUP BY YEAR(HireDate);
但是对于这个问题我该如何修改:
如果雇用了一个以上的操作员,则显示每年雇用的操作员数量。
我试过了
WHERE Count >= 1
或
WHERE COUNT(YEAR(HireDate)) > 1
但没有任何效果。我研究了 CASE 语句,但找不到适合我需要做的事情,知道吗?
使用 SQL 服务器 2008
使用Having
子句
SELECT
COUNT(YEAR(HireDate)) AS 'Count',
YEAR(HireDate) AS 'Year'
FROM Operators
GROUP BY YEAR(HireDate)
HAVING Count >= 1;
这个问题的答案:
显示每年雇用的操作员总数。
这是:
SELECT
COUNT(YEAR(HireDate)) AS 'Count',
YEAR(HireDate) AS 'Year'
FROM Operators
GROUP BY YEAR(HireDate);
但是对于这个问题我该如何修改:
如果雇用了一个以上的操作员,则显示每年雇用的操作员数量。
我试过了
WHERE Count >= 1
或
WHERE COUNT(YEAR(HireDate)) > 1
但没有任何效果。我研究了 CASE 语句,但找不到适合我需要做的事情,知道吗?
使用 SQL 服务器 2008
使用Having
子句
SELECT
COUNT(YEAR(HireDate)) AS 'Count',
YEAR(HireDate) AS 'Year'
FROM Operators
GROUP BY YEAR(HireDate)
HAVING Count >= 1;