我当前正在尝试获取数据库以列出感兴趣的职位编号,以及用户标题和对感兴趣的描述感兴趣的用户的数量。该查询应计入“否。感兴趣的用户。没有兴趣的用户的兴趣应排除在外。
(PK) = Primary Key
(FK) = Foreign Key
数据库架构如下:
Building(buildingNum(PK), Description, instname, buildName, state, postcode)
User(UNum(PK), buildingNum(FK), Surname, FirstName, initials, title)
File(FileNum(PK), title)
UserAccount(FileNum(PK)(FK), UNum(PK)(FK))
Job(JobNum(PK), id, title)
Interest(JobNum(PK)(FK), UNum(PK)(FK), Description)
到目前为止,我已经尝试了以下代码块:
select I.JobNum, U.title, count(I.description) AS 'No. Academics Interested'
from Interest I join Users U
where U.UNum = I.UNum AND I.description != null;
我正在努力使用子查询来执行此操作,我收到的只是一个错误,因为这不起作用。我不确定如何在标题下进行Count(I.description)以及应该如何进行。感谢任何可以提供帮助的人。
答案 0 :(得分:1)
您可能需要在此处使用GROUP BY
进行聚合:
SELECT
i.JobNum,
u.title,
COUNT(i.description) AS "No. Academics Interested"
FROM Interest i
LEFT JOIN Users u
ON u.UNum = i.UNum
GROUP BY
i.JobNum,
u.title;
请注意,这里不需要检查I.description != null
(实际上应该是i.description IS NOT NULL
),因为默认情况下,COUNT
函数不计算NULL
的值。