我不明白为什么通过同时使用HAVING子句和MIN()和MAX()聚合函数来选择价格范围的结果不正确。
下面是一个示例:
SELECT * FROM table t
WHERE t.b_id=10
GROUP BY t.t_id
HAVING min(t.price)> 0 AND max(t.price)<16
ORDER BY t.id DESC LIMIT 100 OFFSET 0
结果还显示价格值高于16的行,似乎是超出范围的选择。有人可以解释一下为什么MySQL不选择范围吗?
如果我删除MIN()和MAX(),则范围选择似乎正确。