MySQL查询以获取最常出现的最长文本

MySQL查询以获取最常出现的最长文本,mysql,sql,Mysql,Sql,我有一个MySQL表t1和一个文本字段f1。我通过此查询查找f1的前100个最常见值及其频率: SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 ORDER BY c DESC LIMIT 100; 我现在需要的是一个查询,找出最常出现的f1的最长值。也就是说,我想先按频率对表中的记录进行排序(就像上面的查询一样),然后按长度对它们进行排序,并获取前100条记录。我尝试使用此查询执行此操作,但它没有返回我想要的结果,它只是返回最长值为f1的记录(大多数记

我有一个MySQL表t1和一个文本字段f1。我通过此查询查找f1的前100个最常见值及其频率:

SELECT COUNT(*) AS c, f1 FROM t1 GROUP BY f1 ORDER BY c DESC LIMIT 100;
我现在需要的是一个查询,找出最常出现的f1的最长值。也就是说,我想先按频率对表中的记录进行排序(就像上面的查询一样),然后按长度对它们进行排序,并获取前100条记录。我尝试使用此查询执行此操作,但它没有返回我想要的结果,它只是返回最长值为f1的记录(大多数记录仅出现1次):

我的表中有4400多万条记录,以防出现问题


谢谢。

你说你想先按频率再按长度下单,但你要求先按长度再按频率下单。把你的
顺序按
条款颠倒过来。

你说你想先按频率再按长度顺序,但你要求先按长度再按频率顺序。按条款撤销您的
订单

SELECT f1, LENGTH(f1) AS l, COUNT(*) AS c FROM t1 GROUP BY f1, LENGTH(f1) ORDER BY l DESC, c DESC LIMIT 100;