我正在使用VBScript(ASP Classic)和SQL Server;我正在尝试在网站上提供一个部分,您可以在其中查看某些价格水平的产品。就像是:

$50 - $100 (4)
$100 - $500 (198)
$500 - $1000 (43)


为了我的爱,我找不到解决这种问题的好方法。我的意思是...我知道如何在一定价格范围内获得产品数量,但是我不知道如何在多个不同价格范围内做到这一点,而不必编写大量嵌套查询来汇总所有结果,尤其是因为相关产品之间的价格范围可能会有很大差异。

像这样确定不同价格范围时是否有“经验法则”?

最佳答案

在SQL中执行此操作的最有效方法(我相信)是使用sum case构造:

select  sum(case when Price >= 50 and Price < 100 then 1 else 0 end) as 50to100,
        sum(case when Price >= 100 and Price < 500 then 1 else 0 end) as 100to500,
        sum(case when Price >= 500 and Price < 1000 then 1 else 0 end) as 500to1000
from    Products


这将只需要对表进行一次扫描。

关于sql - 如何创建“按价格过滤”类型的查询?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/484036/

10-11 01:23
查看更多