我创建了查询来获取最畅销的产品。现在,我想查询这个结果,例如,SerialNo 的前 100 个产品订单或SellingQty 的前 100 个产品订单......等等。
这是我的查询,它通过 totalOrders 为所有产品排序:
SELECT tblProducts.skuCode,tblProducts.productCode, tblProducts.productName, COUNT(tblOrders_Products.delivered) as totalOrder
FROM tblOrders_Products INNER JOIN tblProducts ON tblOrders_Products.productID = tblProducts.productID
WHERE tblProducts.productName is not null
GROUP BY tblOrders_Products.delivered, tblOrders_Products.productID, tblProducts.skuCode, tblProducts.productName,tblProducts.productCode
ORDER BY totalOrder
我考虑创建一个视图。但是很多帖子都说,使用带有视图的 Order By 子句,有时是有害的或不给出结果,所以,我想知道如何做到这一点?
我可以通过排序在 .NET 中执行此操作DataTable
,并将其用作数据源。但是如何在 SQL SERVER 中完成呢?
哪种方式更快?在 SQL Server 或DataTable
? 我正在使用 SQL SERVER 2005。
谢谢。