首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL中每种类型的极值

SQL中每种类型的极值
EN

Stack Overflow用户
提问于 2021-04-07 16:15:33
回答 1查看 16关注 0票数 0

我有SQL表与id_item,类型,小时,分钟,id_client。我想展示最近购买的每种类型的一条记录。我的意思是每种类型的一条记录,其中小时是最高的->如果相等,那么分钟值是最高的。有可能吗?我尝试了一些查询,但我不知道该怎么做。我做了这个:

代码语言:javascript
复制
SELECT type, MAX(hour) FROM shop AS a GROUP BY type ORDER BY type
INNER JOIN (SELECT type, hour, minutes, id_client FROM shop AS b) ON a.type = b.type AND a.hour=b.hour

但有一个错误“语法错误在或接近”内部“。它也不包括检查分钟时,小时是相同的。

EN

回答 1

Stack Overflow用户

发布于 2021-04-07 19:40:28

我想展示最近购买的每种类型的一条记录。

这建议使用窗口函数:

代码语言:javascript
复制
select s.*
from (select s.*,
             row_number() over (partition by type order by hour desc, minutes desc) as seqnum
      from shop s
     ) s
where seqnum = 1;

注意:似乎很奇怪,您只存储小时和分钟,而不是完整的时间戳来表示时间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66982068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档