greatest-n-per-group相关内容
如何编写一条按ID每天返回最新记录的SQL语句。例.数据如下。 Id Name Comment Value DateTime 1 Tim Test 100 02/06/2020 15:05:12 2 Sue House 200 03/06/2020
..
我正在尝试使用窗口函数获取最新的n条记录,如下from here: 我有: select id, blah, row_number () over ( partition by blah, my_id order by datetime) rn, theme from documents where theme = 'cats'; 我得
..
似乎太久以前,我需要创建自己的SQL语句。我有一个带有时间戳(TS)和值(VALUE)的表(GAS_COUNTER)。 每天有数百个条目,但我只需要当天的最新条目。我试了不同的方法,但始终得不到我想要的。 编辑 感谢您的快速回复,但有些不能满足我的需求(我需要表中每天的最新值),有些不起作用。我自己最好的陈述是: select distinct (COUNT), from
..
我正在将一份报告从MySQL迁移到Postgres,我正在尝试按年和月获取每个类别的最新记录,在MySQL中如下所示: select Category, max(DATECOL) AS Date from Table group by Category, date_format(DATECOL,'%Y-%m') order by DATECOL desc; +---
..
只需要最近的记录 当前数据: RequestID RequestCreateDate VehID DeviceNum ProgramStatus InvID 1 08/12/2018 13:00:00:212 110 20178 Submitted A1 2 08/11
..
我正在使用查询: select SGB_ID, max(SGB_TERM_CODE_EFF)max_term, SGB_TYP_CODE from SGB group by SGB_ID, SGB_TYP_CODE order by 1 我得到多行,因为SGB_TYP_CODE具有不同的值。我只想要最高任期的结果。我试过使用‘Keep Density_RANK’,但我
..
我想退货每个department,每个在2016年销售的产品。 我的数据库结构如下: Sales(Time_id: Date, Geo_id: char(5), Prod_id: char(6), sales: Int) Time(Time_id: Date, month: char(2), quarter: char(1), year: char(4)) Geo(Geo_id: ch
..
我在PostgreSQL数据库中有一个表,其中的数据如下: id customer_id item value timestamp 1 001 price 1000 11/1/2021 2 001 price 1500 11/2/2021 3 001 c
..
我已经问过这个问题here,但我的问题包含的信息较少。因此,我创建了一个包含更多信息的新问题。 这是我的示例表。每一行都包含用户每次填写的数据。以便时间戳列在整个表中不会为空。如果用户未填写,项下可能有未记录的值。id是为每条记录自动生成的列。 CREATE TABLE tbl (id int, customer_id text, item text, value text, time
..
我的结果是这样的 我需要获得每个骑师的最新比赛(首先获得比赛的最大日期,然后是最大比赛次数)。结果应该如下所示: 注:数据库非常大。查询速度应该非常快。 推荐答案 当您说“最大比赛数”时,是指最近一场比赛的编号(最近日期的比赛),还是指最大的比赛编号? 假设您指的是前者,并为您的桌子编造了名称‘race’: SELECT Race.* FROM
..
我正在尝试构建一个基础结构,用于按需快速运行回归,从包含我们的Web服务器上所有历史活动的数据库中提取Apache请求。为了通过确保我们仍然递减来自较小客户端的请求来提高覆盖率,我希望通过为每个客户端检索至多n个(对于这个问题,假设10个)请求来确保请求的分布。 我在这里找到了许多类似问题的答案,其中最接近的似乎是SQL query to return top N rows per ID acr
..
我有以下简单的SELECT语句: SELECT ID, EVENT, TIMESTAMP from table order by ID, TIMESTAMP; 我现在只想为每个ID获取具有最后一个时间戳的条目,即具有max(时间戳)的条目。我怎么才能弄到这个?我必须使用子查询吗? 推荐答案 一种方法使用聚合: select id, max(timestamp) as t
..
我为编写棘手的查询而苦恼。 我有下表: 对于每个部门,我要打印利润最大的日期; 我自己也试着想出这样一个问题: Select DISTINCT(Name), Date_sale, MAX(A) as B FROM (SELECT Departments.Name, SALES.Date_sale, SUM(GOODS.Price * SALES.Quantity)
..
我有一个包含两列a和b的表,其中a是ID,b是时间戳。 我需要选择所有不同的a,但我只关心每个ID的最新行。 即,我需要一种根据b值选择不同a条件的方法。 在Postgres中使用DISTINCT ON有办法做到这一点吗? 干杯 推荐答案 就像@a_horse_with_no_name建议的那样,解决方案是 SELECT DISTINCT ON (a) a, b
..
我已经找到了此问题的一些解决方案,但它们似乎不适用于Oracle。 我收到了: 我想要一个仅显示每个团队最年长人员的信息的视图。因此,我的输出应该如下所示: PERSON | TEAM | AGE Sam | 1 | 23 Michael | 2 | 21 如何在Oracle中执行此操作? 推荐答案 select * from table whe
..
对于下面的查询,我只需要选择Shape_Type值最小的第一条记录(范围从1到10)。如果你有任何关于如何在PostgreSQL中轻松做到这一点的知识,请帮助。耽误您时间,实在对不起。 select g.geo_id, gs.shape_type from schema.geo g join schema.geo_shape gs on (g.geo_id=gs.geo_id) o
..
考虑具有以下文档模型的CosmosDB容器: { id: , userId: , // partition key data: } 我需要提供具有N个用户ID的查询,并获取每个用户ID的最新文档。 例如,如果容器中有以下数据: { id: '1', userId: 'user1', data: 'a', _ts:
..
我想选择10个商户账户,为每个商户账户挑选前15条交易记录,页面大小如10*50? 我有这个查询,它给我提供了最多的记录,我需要修复来选择“每个商家帐户ID的前15条记录”,而不仅仅是前150条记录。 欢迎任何指针、建议、代码修复! SELECT * FROM ( SELECT account_id,transaction_id,ROWNUM RNUM
..
好的,我有一张这样的桌子: ID 信号站 OwnerID111 -120 主页 1111 -130 车 1111 -135 工作 2222 -98 首页 2222 -95 工作 1222 -103 作品2 这是同一天.我只需要查询返回每个 ID 的最大信号: ID 信号站 OwnerID111 -120 主页 1222 -95 工作 1 我尝试使用 MAX() 并且聚合弄乱了每个记录的 S
..
我想用 dplyr 在每组中选择一个最大值的行. 首先我生成一些随机数据来显示我的问题 set.seed(1)df 在 plyr 中,我可以使用自定义函数来选择这一行. 库(plyr)ddply(df, .(A, B), function(x) x[which.max(x$value),]) 在 dplyr 中,我使用此代码来获取最大值,但不是具有最大值的行(在本例中为 C 列).
..