【发布时间】:2016-02-25 16:38:53
【问题描述】:
我的 customer_table 包含 cust_id、first_name 和 last_name 列,cust_order 表包含 cust_id、order_id、order_date 和 amount 列。如何编写查询以提供每一天的前 10 名客户
;WITH TOP10 AS (
SELECT *, ROW_NUMBER()
OVER (
PARTITION BY [order_date]
ORDER BY [order_date]
) AS RowNo
FROM [customer_orders]
)
SELECT * FROM TOP10 WHERE RowNo <= 10
上面的代码是我尝试过的,但我无法得到想要的结果,因为我需要每天
的前 10 个订单【问题讨论】:
-
顶级客户的定义是什么?靠什么顶?最新订单?数量?
order_date是否包含时间? -
我认为
order by中需要一些代表订单金额的东西。 -
您的查询的实际结果是什么?为什么它不是你想要的。 Allso 作为健全性检查:您的输入是否包含多天?
-
是的输入有多天,其中输出是每天前 10 名。
标签: sql sql-server tsql