gpt4 book ai didi

sql select with group by 并加入查找

转载 作者:行者123 更新时间:2023-11-29 12:51:54 25 4
gpt4 key购买 nike

假设我有一个产品表和一个订单表。我想列出每个产品的最新订单

我想像这样

select name, description, price, max(date) 
from product
join order on order.item = product.name
group by order.item

但是我的 postgres 数据库提示说我不能有原始字段(sqlite 没有提示)我需要有聚合函数。我可以为每一列放置 min() 但这似乎是一种浪费,因为特定产品的所有值始终相同。我想知道“不同”,但这似乎对这里没有帮助

注意 - 我需要标准的可移植 SQL,而不是特定于任何给定的引擎。

最佳答案

在 Postgres 中,您可以使用 distinct on:

select distinct on (o.item) p.name, description, price, date
from product p join
order o
on o.item = p.name
order by o.item, date desc;

我在查询中添加了别名。我强烈建议您始终限定所有列名。我会这样做,但在大多数情况下我不知道它们来自哪里。

关于sql select with group by 并加入查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51990200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com