我有一张这样的桌子:
Column | Type | Modifiers
username | character varying(12) | not null
electioncode | integer | not null
votes | integer | default 0
PRIMARY KEY (username, electioncode)我需要创建一个带有用户名、选举代码、最大票数的视图,如果我使用这个查询,它可以正常工作,但是没有用户名:
按选举代码从表组中选择“选举人代码”,“最大票数”;
如果我添加用户名,它要求我将它添加到组中,但是如果我这样做,它就会给我整个表,而不仅仅是用户名
发布于 2013-02-07 17:10:26
是否要获得与此票数相关联的用户名?或者在给定的选举代码中有任何用户名?
如果第一个:
SELECT
DISTINCT ON ( electioncode )
*
FROM table
ORDER BY electioncode, votes desc;如果另一方:
SELECT
electioncode,
min(username),
max(votes)
FROM
table
GROUP BY electioncode;发布于 2013-02-07 17:11:16
您的用户名字段似乎是唯一的。每个记录都有不同的用户名(我假设),因此当您按用户名分组时,它会给出所有的记录。您要做的是逻辑问题,而不是语法问题。
建议:您想要在一张纸上写您想要看到的输出,然后构造查询.如果你想要用户名,选举代码和最大(选票),那么想象一下你将如何显示两个用户名- user1和用户2的选举代码001和投票各1?你会怎么展示这个?
https://stackoverflow.com/questions/14756835
复制相似问题