MySQL-mysql 分组查询数据时,如何获得用于分页的总记录数?
主要是想查询符合条件的记录总数,
查询数据使用的sql为:
SELECT SUBSTRING_INDEX(`url`,'/',3) AS host,COUNT(*) AS count FROM `tab` WHERE `type`=4 GROUP BY host HAVING(count >= 5) ORDER BY count desc LIMIT 0,10
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我感觉第二种没有什么不好的呀
我只知道第四种……原来还有前几种啊……
改一下表的结构,加一个host字段,每次插入的时候就预先把host先算出来。然后给host加个索引。这样group by的效率应该也不是太低了吧
效率还不行的话再建一个子表,专门存每个host后面有多少个数,每次insert的时候更新。但这样insert和delete的效率又下降了。