POSTGRES min/least 值
POSTGRES min/least value
我有一个带有两列的 postgres 9.3 table。第一列有时间,第二列有路线。一条路线可能有多次。我想列出所有路线的最短时间。我的 table:
Times Routes
07:15:00 Route a
09:15:00 Route a
08:15:00 Route b
11:30:00 Route b
09:15:00 Route c
12:00:00 Route c
我想要的输出:
Times Routes
07:15:00 Route a
08:15:00 Route b
09:15:00 Route c
如有任何帮助,我们将不胜感激,并在此先致谢。
GROUP BY
子句在与聚合函数结合使用时很有用。对于您的问题,要找到路径的所有输入值的最小时间值,您可以使用 GROUP BY
子句分成组,对于每个组,您将使用 MIN
聚合函数计算时间。
您可以使用 group by 实现此目的
select routes, min(times) from your_table group by routes
这可以使用 MIN
aggregate function 完成,然后按 Routes
列分组:
SELECT Routes, MIN(Times) FROM Table GROUP BY Routes
GROUP BY
子句用于将行组合成一行,这些行具有与 GROUP BY
子句中指定的字段相同的值。然后,您可以使用 MIN
、MAX
、SUM
、AVG
等聚合函数来计算分组在一起的行的值。
select distinct on(routes) routes
,times
from p
order by routes,times asc
将return“第一个”行中表达式相等的每组行。
根据文档
DISTINCT ON ( expression [, ...] ) keeps only the first row of each
set of rows where the given expressions evaluate to equal. [...] Note
that the "first row" of each set is unpredictable unless ORDER BY is
used to ensure that the desired row appears first. [...] The DISTINCT
ON expression(s) must match the leftmost ORDER BY expression(s).
我有一个带有两列的 postgres 9.3 table。第一列有时间,第二列有路线。一条路线可能有多次。我想列出所有路线的最短时间。我的 table:
Times Routes
07:15:00 Route a
09:15:00 Route a
08:15:00 Route b
11:30:00 Route b
09:15:00 Route c
12:00:00 Route c
我想要的输出:
Times Routes
07:15:00 Route a
08:15:00 Route b
09:15:00 Route c
如有任何帮助,我们将不胜感激,并在此先致谢。
GROUP BY
子句在与聚合函数结合使用时很有用。对于您的问题,要找到路径的所有输入值的最小时间值,您可以使用 GROUP BY
子句分成组,对于每个组,您将使用 MIN
聚合函数计算时间。
您可以使用 group by 实现此目的
select routes, min(times) from your_table group by routes
这可以使用 MIN
aggregate function 完成,然后按 Routes
列分组:
SELECT Routes, MIN(Times) FROM Table GROUP BY Routes
GROUP BY
子句用于将行组合成一行,这些行具有与 GROUP BY
子句中指定的字段相同的值。然后,您可以使用 MIN
、MAX
、SUM
、AVG
等聚合函数来计算分组在一起的行的值。
select distinct on(routes) routes
,times
from p
order by routes,times asc
将return“第一个”行中表达式相等的每组行。
根据文档
DISTINCT ON ( expression [, ...] ) keeps only the first row of each set of rows where the given expressions evaluate to equal. [...] Note that the "first row" of each set is unpredictable unless ORDER BY is used to ensure that the desired row appears first. [...] The DISTINCT ON expression(s) must match the leftmost ORDER BY expression(s).