您如何将在 SQL 中找到的aCOUNT或 aGROUP BY或任何其他聚合函数转换为 TRC,我在互联网上找不到任何方法。
所以我有一张桌子 User
+----+----------+--+
| | User | |
+----+----------+--+
| pk | email | |
| | password | |
| | ... | |
+----+----------+--+
Run Code Online (Sandbox Code Playgroud)
还有一张桌子 frienship
+----+-------------+--+
| | FriendShip | |
+----+-------------+--+
| pk | user1_email | |
| pk | user2_email | |
| | date | |
| | accepted | |
+----+-------------+--+
Run Code Online (Sandbox Code Playgroud)
以及以下 SQL 查询:
SELECT *
FROM user u
LEFT OUTER JOIN friendship f ON (f.user1_email = u.email
OR f.user2_email = u.email)
GROUP BY u.email
HAVING COUNT(u.email) < 3
Run Code Online (Sandbox Code Playgroud)
我想这个查询转换成元组关系演算时,JOIN和SELECT是非常简单的,但是对于GROUP BY和COUNT我不知道。
谢谢,
正如 Lennart 所说,不可能表达这些函数,因此我决定以另一种方式转换计数。
首先让我们断言以下谓词:

那么我们可以说,拥有 2 个或更少的朋友,就是拥有 0 个朋友、1 个或 2 个朋友。拥有 1 个朋友就像说存在一个朋友 (friend1),而 Friends(me,friend1) 为真。
要拥有 2 个朋友,您必须有 1 个朋友和另一个不同的朋友。最后,你不能再有任何朋友了。
这一切都可以这样表达:

| 归档时间: |
|
| 查看次数: |
7025 次 |
| 最近记录: |