-2
我有一个数据库'Store',其中列出了所有客户名称以及它们进入商店的时间,并且我想获得一个查询会生成显示每个客户访问商店的最后20次的所有行,任何人都知道我该如何做到这一点?Oracle SQL Query获取列中值的前20个实例
我有一个数据库'Store',其中列出了所有客户名称以及它们进入商店的时间,并且我想获得一个查询会生成显示每个客户访问商店的最后20次的所有行,任何人都知道我该如何做到这一点?Oracle SQL Query获取列中值的前20个实例
我将开始与
SELECT * FROM
(SELECT
customer_name,
ROW_NUMBER() OVER (PARTITION BY store ORDER BY entry_time DESC) rn
FROM my_table)
WHERE rn <= 20;
它是真的很难只用这些信息来回答你的问题。
请注意你的表的结构或东西..
在一般-
让我们假设你的表是“客户” 和每一个客户都有独特的“CUST_ID”。 “visit_time”将是客户进入商店的每条记录的时间。
select *
from (
select row_number() over (partition by c.cust_id order by c.visit_time desc) rw
from customers c) inn
where inn.rw <= 20;
请提供样本数据和预期输出 –
请阅读此。 https://stackoverflow.com/help/how-to-ask,我们不是精灵,你有什么尝试,请张贴一些样本数据,表格ddl和期望的输出。否则,我们只是在桶里拍摄鱼。 – Miguel
这是一个很简单的查询,但它更具挑战性,因为您需要提供其他信息。请提供您的表格架构(表名称,列名称,数据类型等)。 – laylarenee