利用以下“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
如果有任何进一步的信息有用,请告诉我。
提前谢谢!
答案 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