【发布时间】:2020-01-18 23:04:52
【问题描述】:
我希望构建的查询如下:
- 查找所有与
categoryId匹配的video字段 - 为每个人查找
history记录 - 最后将它们一起计数/相加。
到目前为止我设法构建的查询是:
(SELECT COUNT(*)
FROM "histories" as "history"
WHERE "history"."videoId" =
(SELECT "id"
FROM "videos"
WHERE "videos"."categoryId" = '9f5a0e6f-512b-425a-9225-600f876c0105' ))
我想您已经可以清楚地看出问题所在了。我正在选择所有记录,其中videoId 等于...一个ID 列表。 SQL 不买账。
SQL ERROR: more than one row returned by a subquery used as an expression
我发现的“解决方法”是将video 行限制为一行。但是,当然,这不会给我一个完整的输出。
我会非常感谢所有提示,甚至是答案。
【问题讨论】:
-
你使用什么数据库?
-
@VBoka 我用的是 PostgreSQL
-
把
=改成IN -
@Nick 哇哦!非常感谢!如果您想发布答案,请继续,我会适当地标记它。
标签: sql postgresql count sum