Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 选择带有额外列的distinct_Sql_Postgresql - Fatal编程技术网

Sql 选择带有额外列的distinct

Sql 选择带有额外列的distinct,sql,postgresql,Sql,Postgresql,我有一张各种回购协议的承诺表。我想选择所有用户,并获得最多一个他们关联的回购协议 我的尝试: SELECT distinct(author_id), repo_id FROM commits 但是,这会返回比预期更多的行,其中包含作者id的副本。使用上的distinct 按照 DISTINCT ON(表达式[,…])仅保留给定表达式计算结果相等的每组行的第一行。DISTINCT ON表达式使用与ORDER BY相同的规则进行解释(见上文)。请注意,每个集合的“第一行”是不可预测的,除非使用OR

我有一张各种回购协议的承诺表。我想选择所有用户,并获得最多一个他们关联的回购协议

我的尝试:

SELECT distinct(author_id), repo_id FROM commits

但是,这会返回比预期更多的行,其中包含作者id的副本。

使用
上的distinct

按照

DISTINCT ON(表达式[,…])仅保留给定表达式计算结果相等的每组行的第一行。DISTINCT ON表达式使用与ORDER BY相同的规则进行解释(见上文)。请注意,每个集合的“第一行”是不可预测的,除非使用ORDER BY来确保所需的行首先出现


上使用
不同

按照

DISTINCT ON(表达式[,…])仅保留给定表达式计算结果相等的每组行的第一行。DISTINCT ON表达式使用与ORDER BY相同的规则进行解释(见上文)。请注意,每个集合的“第一行”是不可预测的,除非使用ORDER BY来确保所需的行首先出现

对于MYSQL


对于MYSQL

非常好的答案!我从来都不知道,答案很好!我从来都不知道这件事。
SELECT distinct on (author_id) author, repo_id FROM commits
order by author
SELECT distinct(author_id), repo_id FROM commits
GROUP BY author_id