我有投票的表格,看起来像桌面项目:查询投票基于百分比
id, type, scope, region, UserId, ItemId, updatedAt, createdAt
我想按百分比基于选票/总票数总顶部项目。
最后一条是我想要一个WHERE
子句为两个时间戳之间的投票createdAt
。
我觉得这是一个非常正常的事情来查询统计。但我不知道如何去做这件事。
我得到的最接近的是:
SELECT "Votes"."ItemId", count("Votes"."ItemId") tots, count("Votes"."type" = 'up') AS yes, count("Votes"."type" = 'down') AS NO
FROM "Votes"
WHERE "Votes"."ItemId" IN (
SELECT "Votes"."ItemId" FROM "Votes"
)
GROUP BY "Votes"."ItemId"
这是从什么是需要很长的方式。因此,为什么我会喜欢这里的一些帮助。一直很难找到这种东西的好sql资源。
你使用的是sql server或mysql或postgresql? – ughai
为什么不使用1/-1来存储投票的上/下数以便让投票总数更容易?只是一个想法。 – Anthony
我正在使用postgresql进行查询。 – corbanb