Sql 带min的groupby子句

Sql 带min的groupby子句,sql,postgresql,greatest-n-per-group,Sql,Postgresql,Greatest N Per Group,我有下表 我使用了下面的查询,得到了错误消息。我可以确定错误的原因,但如何解决它 select min(id),customer_id,created_at from thunderbolt_orders group by customer_id 我需要最小id的客户id,并在如何实现它时创建。根据您是否只需要最小id或您是否需要每个客户的最小id,这些是解决方案 SELECT id,customer_id,created_at FROM thunderbolt_order

我有下表

我使用了下面的查询,得到了错误消息。我可以确定错误的原因,但如何解决它

select min(id),customer_id,created_at from thunderbolt_orders
  group by customer_id

我需要最小id的客户id,并在如何实现它时创建。

根据您是否只需要最小id或您是否需要每个客户的最小id,这些是解决方案

SELECT id,customer_id,created_at 
       FROM thunderbolt_orders 
       WHERE id IN 
       (SELECT MIN(id) FROM thunderbolt_orders GROUP BY customer_id); 
最小ID:

select top 1 id,customer_id,created_at from thunderbolt_orders order by id asc
每个客户的最低ID:

with cte as (
    select min(id) as id
    from thunderbolt_orders 
    group by customer_id
)
select *
from cte c
inner join thunderbolt_orders t on t.id = c.id

这些解决方案取决于您是否只需要最小ID,或者您是否需要每个客户的最小ID

最小ID:

select top 1 id,customer_id,created_at from thunderbolt_orders order by id asc
每个客户的最低ID:

with cte as (
    select min(id) as id
    from thunderbolt_orders 
    group by customer_id
)
select *
from cte c
inner join thunderbolt_orders t on t.id = c.id

您会遇到什么类型的错误?可能重复的是最低可能的ID、客户ID和创建的时间,还是每个客户ID的最低ID和您得到的错误类型背后的信息?可能重复的是最低可能的ID、客户ID和创建的时间,还是每个客户ID的最低ID客户id,然后是信息back@NaveenKumar:-你检查过我编辑的答案吗?我想你不是,这是我在你的回答和评论之前编辑的。@NaveenKumar:-你检查过我编辑的答案吗?我想你不是,这是我在你回答和评论之前编辑的。