我有SQL表与id_item,类型,小时,分钟,id_client。我想展示最近购买的每种类型的一条记录。我的意思是每种类型的一条记录,其中小时是最高的->如果相等,那么分钟值是最高的。有可能吗?我尝试了一些查询,但我不知道该怎么做。我做了这个:
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但有一个错误“语法错误在或接近”内部“。它也不包括检查分钟时,小时是相同的。
发布于 2021-04-07 19:40:28
我想展示最近购买的每种类型的一条记录。
这建议使用窗口函数:
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;注意:似乎很奇怪,您只存储小时和分钟,而不是完整的时间戳来表示时间。
https://stackoverflow.com/questions/66982068
复制相似问题