我不明白为什么同时使用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
结果还显示了price值高于16的行,这似乎是一个超出范围的选择。有人能解释一下为什么mysql不在范围内选择吗?
如果我删除min()和max(),那么范围选择似乎是正确的。
暂无答案!
目前还没有任何答案,快来回答吧!