在选择中创建新列

时间:2015-12-02 00:33:43

标签: sql count

利用以下“STUDENT”表,编写一个返回两列的查询:第一列名为“SMITH”,它应返回姓氏为“Smith”的学生数量。第二列名为“NOT_SMITH”,它应该返回没有姓氏“Smith”的学生的数量。

这是我正在尝试的项目,但我无法弄清楚如何完成它。我试图查找如何完成此操作,但我不知道将调用此特定函数。

我知道这不正确,但这是我开始的地方:

SELECT COUNT(*) FROM STUDENT 
CASE
 WHEN LAST_NAME = 'SMITH' THEN "SMITH"
 WHEN LAST_NAME != 'SMITH' THEN "NOT_SMITH"
GROUP BY COUNT AS

虽然我认为计数会正确,但这不会提供所需的列数。

目前的栏目是STUDENT_ID,LAST_NAME,FIRST_NAME

如果有任何进一步的信息有用,请告诉我。

提前谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用条件和

dd-MM-yyyy

如果您想将 SELECT SUM( CASE WHEN LAST_NAME = 'SMITH' THEN 1 ELSE 0 END) as SmithCount, SUM( CASE WHEN LAST_NAME = 'SMITH' THEN 0 ELSE 1 END) as notSmithCount FROM Student 计为NULLs

,请小心