gpt4 book ai didi

sql - 在postgresql中获取投票数最少的项目,包括0

转载 作者:行者123 更新时间:2023-11-29 12:44:44 27 4
gpt4 key购买 nike

我正在做一个项目,我需要获得票数最少的 2 个项目,我有 2 个表,一个项目表和一个带有 ItemId forgienkey 的投票表。

我有这个问题:

SELECT id FROM (
SELECT "ItemId" AS id,
count("ItemId") AS total
FROM "Votes"
WHERE "ItemId" IN (
SELECT id FROM "Items"
WHERE date("Items"."createdAt") = date('2015-05-26 18:30:00.565+00')
AND "Items"."region" = 'west'
)
GROUP BY "ItemId" ORDER BY total LIMIT 2
) x;

哪个在某些方面没问题,但它不包括计数为 null 或 0 的项目。有没有更好的方法来做到这一点?

谢谢。如果您需要更多信息,请告诉我。

PostgreSQL:9.4

最佳答案

像这样的东西应该可以工作:

SELECT id,
coalesce((SELECT count(*) FROM "Votes" WHERE "ItemId" = "Items".id), 0) as total
FROM "Items"
WHERE date("Items"."createdAt") = date('2015-05-26 18:30:00.565+00')
AND "Items"."region" = 'west'
ORDER BY total LIMIT 2

关于sql - 在postgresql中获取投票数最少的项目,包括0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30471504/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com