请教条mysql语句

newbieeee newbieeee 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
表table里有a,b,c三个字段,需要按c提取前10条
SELECT * FROM table ORDER by c desc limit 0,10;

但现在要求记录a,b字段完全相同时只保留其中c最大的那条,如果用
SELECT * FROM table GROUP by a,b ORDER by c desc limit 0,10;

由于数据量偏大,用时非常长,无法接受。
试了下distinct,
SELECT distinct a,b FROM table ORDER by c desc limit 0,10;

可以实现,但问题是不知道怎样同时取出c字段(实际表里是有很多其他字段的),select c,distinct a,b会报错,select distinct a,b,c又会把c也列入不重复的条件里。请问sql语句应该如何写?因为数据量比较大,请考虑下效率。
...全文

相关推荐

评论 8
收藏 已收藏
分享
返回顶部
newbieeee
基础编程 21,889 成员 140,329 内容