首页 > 解决方案 > 关系代数把东西算作重命名

问题描述

如何计算每列中某物的数量,并将其重命名为某物?

例如 - 这是我的表:

PATIENT

PatientNum  City
---------------------------
1           New York City
2           Boston
3           Birmingham
4           Tyler
5           Boston
6           New York City

这是我的 SQL 查询:

SELECT 
    City, COUNT(DISTINCT PatientNum) AS Freq 
FROM 
    PATIENT 
GROUP BY 
    City

预期结果

City            Freq
----------------------
Birmingham       1
Boston           2
New York City    2
Tyler            1

这个 SQL 查询的关系代数是什么?我是关系代数的新手,谢谢你的帮助!

更新:

我做了一些研究并写下来。那正确吗?

在此处输入图像描述

标签: sqldatabaserelational-algebra

解决方案


您需要使用 group by 运算符 γ。γ之前列出的列是分组列,之后列出的列是您的预测

因此,您在关系代数中的表达式将是这样的:

City γ City, COUNT PatientNum (PATIENT)

关系投影总是返回不同的元组。


推荐阅读