Navicat Premium使用教程:如何按组构造前N个查询

Navicat Premium是一个可连接多种数据库的管理工具,它可以让你以单一程序同时连接到MySQL、Oracle及PostgreSQL数据库,让管理不同类型的数据库更加的方便。

点击下载Navicat Premium最新试用版

前N个查询是按降序获取按值排序的前几条记录的查询。 通常,这些是使用TOP或LIMIT子句完成的。 问题是,前N个结果集被限制为表中的最高值,而没有任何分组。 GROUP BY子句可以帮助您解决此问题,但仅限于每个组的单项最高结果。 如果您想要每个类别的前5名,GROUP BY本身将无济于事。 这并不意味着它无法完成。 实际上,在今天的博客中,我们将确切学习如何按组构造前N个查询。

前N个查询基础知识

为了更好地理解“前N个查询”,让我们编写一个,从Sakila示例数据库中选择运行时间最长的前5部电影。 如果您不熟悉Sakila数据库,它是一个MySQL数据库,其中包含许多与虚构的视频租赁商店有关的表,视图和查询。 表包括actor、film、customer、rentals等。

top_n (77K)

按类别分组结果

GROUP BY子句将聚合函数应用于一个或多个字段,以便数据与您指定的分组相关。 就分组结果而言,这是向前迈出的一步

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值