这个是我今天面试碰到的一个面试题,不得不说面试官真的是别有用心,可惜当时我是把数据库忘的一干二净,回答的离他想要的想去甚远。

还是回到问题上吧:如何在数据库中查处最热的十个词,给你一张检索记录表,里面有一‘query’列,其它的暂时记不起来了,但是这个问题就只需要关注这一列就好:

这里我随意创建了一张数据表(仅做模拟),表结构如图所示:

然后我在里面随便插入了几组数据,统计结果如下图所示:

那么上面问检索最热的几个词其实这里面就类似于查询foot_id中相同数字出现的次数按照大小排序最重按照降序排列,取出前十个前十个词。

解决步骤:

  • 首先需要对`query`列进行group by操作,将相同检索词放到一组:

    select *, count(*) from shoes group by foot_id;

  • 然后需要对count(*)列进行排序,此时如果直接在count(*)后加desc是错误的:

    select *, count(*) desc from shoes group by foot_id;
  • 对count(*)进行排序需要使用order by命令:
     select *, count(*) from shoes group by foot_id order by count(*);
  • 如果到了上面那一步还差一点点,但是这会儿也差不多可以了,因为就差一个desc了,但是别忘了还有一个前十位呢,这里就前三位吧:
     select *, count(*) from shoes group by foot_id order by count(*) desc limit 3;

嗯,是的,这个应该就是问题的解了!

如何从数据库中选出最热的十个检索词相关推荐

  1. adams无法隐藏零件_SPC软件应用-我的数据库中还隐藏着什么?

    盈飞无限ProFicient SPC软件支持用户对数据库中的已有信息进行检索,并二次利用.准确地说,这一功能叫做"使用数据库最后保存的值(Use Last Database Value)&q ...

  2. mysql读数据入库es_ES 实现实时从Mysql数据库中读取热词,停用词

    IK分词器虽然自带词库 但是在实际开发应用中对于词库的灵活度的要求是远远不够的,IK分词器虽然配置文件中能添加扩展词库,但是需要重启ES 这章就当写一篇扩展了 其实IK本身是支持热更新词库的,但是需要 ...

  3. Oracle数据库中的分页--rownum

    1. 介绍 当我们在做查询时,经常会遇到如查询限定行数或分页查询的需求,MySQL中可以使用LIMIT子句完成,在MSSQL中可以使用TOP子句完成,那么在Oracle中,我们如何实现呢? Oracl ...

  4. 用纯ASP代码实现图片上传并存入数据库中

      用纯ASP代码实现图片上传并存入数据库中    热     ★ 用纯ASP代码实现图片上传并存入数据库中 用ASP编写网站应用程序时间长了,难免会遇到各式各样的问题,其中关于如何上传文件到服务器恐 ...

  5. word可以直接导入mysql嘛_如何把word文档导入到数据库中——java POI

    本文方法借鉴于https://www.cnblogs.com/ljysy/p/10574197.html 在经过朋友的指导下,在处理文档的方式上有所不同. 我的数据库使用的是SQL server,这篇 ...

  6. 反斜杠转义mysql java_mysql数据库中的反斜杠”\“怎么使用Java进行转义

    mysql数据库中的反斜杠"\"怎么使用Java进行转义 发布时间:2020-11-24 15:15:12 来源:亿速云 阅读:88 作者:Leah 这期内容当中小编将会给大家带来 ...

  7. MySQL利用磁盘缓存写入_MySQL写入缓冲区在数据库中的作用( Change Buffer )

    原标题:MySQL写入缓冲区在数据库中的作用( Change Buffer ) 介绍另外一种重要的数据变更日志,也就是InnoDB change buffer.Change buffer的主要目的是将 ...

  8. oracle cost小 比较慢,Oracle数据库中有关CBO优化的三个问题

    一.如何使用CostBased优化器优化查询操作? Oracle 提供了基于成本(CostBased)和基于规则(RuleBased)两种优化器,简称为CBO和RBO,用于确定查询操作的执行计划.Co ...

  9. mysql 数据缓冲区,MySQL写入缓冲区在数据库中的作用( Change Buffer )

    原标题:MySQL写入缓冲区在数据库中的作用( Change Buffer ) 介绍另外一种重要的数据变更日志,也就是InnoDB change buffer.Change buffer的主要目的是将 ...

  10. 数据库中的超码、候选码、主码

    码是数据系统中的基本概念.所谓码就是能唯一标识实体的属性,他是整个实体集的性质,而不是单个实体的性质.它包括超码,候选码,主码. 超码是一个或多个属性的集合,这些属性可以让我们在一个实体集中唯一地标识 ...

最新文章

  1. Enumerator a Composite Structure
  2. docker 启动命令_Jenkins视频课程在Docker环境下安装Jenkins,命令行如何启动Jenkins...
  3. 有关 Conversion to Dalvik format failed with error 1
  4. leetcode 992. K 个不同整数的子数组(滑动窗口)
  5. 再读阿朱的《走出软件作坊》摘抄整理——20140617
  6. 配置 Linux 的访问控制列表(ACL)
  7. 三次样条插值算法C++实现
  8. java的双亲委派_深入理解Java的类加载器及双亲委派机制
  9. 2018年高考631选计算机,2021年高考650分可以上什么大学 650分左右的院校
  10. Java开发手册归纳知识点
  11. 计算机怎么使用远程桌面工具,win7一键开启远程桌面工具
  12. 101个最佳配色方案,设计师值得收藏!
  13. Angular动态绑定HTML文本
  14. Linux——(1)基本命令
  15. 微信属于计算机操作系统吗,一款国产操作系统的微信电脑版使用体验
  16. op手机计算机记录怎么找回,怎么定位被盗的oppo手机并查看其位置
  17. 河南对口计算机本科学校有哪些,河南省计算机专业对口升学能上什么大学
  18. Android 性能监测工具,优化内存、卡顿、耗电、APK的方法
  19. 互联网加比赛“潜规则”,你知道多少?干货满满,说一说亲身经历
  20. 分支结构 单分支多分支嵌套分支结构

热门文章

  1. solidity Error:linearization of inherintance graph impossable
  2. 我真要戒游戏了毒奶粉再见!
  3. 面试官:说说你对 options 请求的理解
  4. X-Frame-Options响应头配置详解
  5. ai条码插件免安装_AI条形码插件(含支持Illustrator cs6的条码脚本插件)
  6. Power Apps 应用实战|轻松用 Power Apps 开发员工休假考勤管理小程序
  7. linux 图片压缩命令,Linux:优化和压缩JPEG和PNG图片的命令行工具
  8. 比ietest 更好的浏览器调试工具 Browser Sandbox 使用教程
  9. 移动vue大转盘抽奖
  10. 钢琴网页制作教程_钢琴