postgresql 如何通过另一个表中字段的总和正确地组织数据?

btxsgosb  于 2023-02-22  发布在  PostgreSQL
关注(0)|答案(1)|浏览(109)

games表有counters。可能有几个。counters有一个字段sent:bigint
如何按发送计数器的计数对games进行升序排序?

    • 公司#1**有两个计数器。一个有sent=3,另一个有sent=2,总共有5个发送计数器。公司#2有1个计数器。其值为sent=4

也就是说,如果你按照升序排序,那么应该是这样的:company 2, company 1
我的代码:

SELECT games.*, counters.game_id 
FROM games INNER JOIN counters 
ON games.id = counters.game_id 
GROUP BY counters.sent 
ORDER BY sum(counters.sent) asc
dgiusagp

dgiusagp1#

不知道您为什么要按sent的值排序,因为您明确表示您只关心游戏中counters的数量,而不关心counterssent的值
因此,除非我误解了您的问题,否则下面的查询将回答以下问题:
“检索games中的所有行,例如games具有counters,按游戏具有的counters的总数升序排序。

select g.* 
  from games g, counters c 
  where g.id = c.game_id
  group by c.game_id
  order by count(c.game_id) asc;

相关问题