在MySQL中将HAVING子句与MIN和MAX聚合函数一起使用会超出范围

时间:2018-09-19 09:29:17

标签: mysql max min having clause

我不明白为什么通过同时使用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(),则范围选择似乎正确。

0 个答案:

没有答案