我自己做一个小程序,想把所有在重复数据删除的,根据name判断是否重复,删除size小的数据,最后只留一个最大的数据.
在写sql的时候遇到了问题,我写出了求最大的一个值的sql如下:
SELECT * FROM book GROUP BY NAME HAVING size=MAX(size) AND id=MIN(id)
我想只要写一个子查询把最大值排除了,就可以了,没想到始终报错,我找了好久,还是没解决,下面三句sql,只有第三句报错,
SELECT * FROM book GROUP BY NAME HAVING size=MAX(size) AND id=MIN(id)
SELECT id FROM book GROUP BY NAME HAVING id IN(12,123)
x SELECT id FROM book GROUP BY NAME HAVING size= MAX(size) AND id=MIN(id)
这是什么原因?有人知道排除最大值的正确写法码?
我用的是mysql
关于mysql 求不是最大值,保留单个最大值时,遇见的问题
最新推荐文章于 2021-04-02 08:51:33 发布