Avec agrégation conditionnelle :
SELECT
SUM(price < 15) `Less than 15`,
SUM(price >= 15 AND price <= 30) `Between 15 and 30`,
SUM(price > 30) `More than 30`
FROM `table`
WHERE is_active=1
Dans MySql une expression booléenne comme price < 15
est évalué comme 0
pour false
ou 1
pour true
.
Voir la démo
.
Résultats :
| Less than 15 | Between 15 and 30 | More than 30 |
| ------------ | ----------------- | ------------ |
| 1 | 1 | 1 |