Mar*_*ers 18
我猜你的意思是:
SELECT COUNT(*) FROM products WHERE product_price >= 500 AND product_price <= 1000
Run Code Online (Sandbox Code Playgroud)
但是您没有指定您的间隔是开放,关闭还是半关闭.当使用打开或关闭的间隔(上面是一个封闭的间隔)时,在制表所有间隔时,必须注意不要错过或重复计算边界上的项目.
根据您的工作情况,这可能对您更好:
SELECT COUNT(*) FROM products WHERE product_price >= 500 AND product_price < 1000
Run Code Online (Sandbox Code Playgroud)
如果您想获得所有间隔,您也可以在一个语句中执行此操作:
SELECT
SUM(CASE WHEN product_price < 500 THEN 1 ELSE 0 END) AS price_range_1,
SUM(CASE WHEN product_price >= 500 AND product_price < 1000 THEN 1 ELSE 0 END) AS price_range_2,
SUM(CASE WHEN product_price >= 1000 THEN 1 ELSE 0 END) AS price_range_3
FROM products
Run Code Online (Sandbox Code Playgroud)
或者(在我看来更好),将你的间隔范围存储在另一个表中并加入它.
(许多其他人都指出了BETWEEN关键字.如果您感兴趣,它等同于封闭间隔版本,即第一个版本.)