基于天猫市场行情学习SQL-2.6 限制结果,暨蓝海市场报告2021年11月16日

原创 电商记 新零售日志

访问电商记网站( dianshangji.com )安装浏览器插件v9.1.4以上版本可使用本功能。

点击文章底部 [ 阅读原文 ] 链接可查看网站学院的《商务数据SQL分析》的课程内容。


《商务数据SQL分析》

第2部分 检索数据

这一课介绍如何使用 SELECT 语句从表中检索一个或多个数据列。

2.6  限制结果

SELECT 语句返回指定表中所有匹配的行,很可能是每一行。如果你只想返回第一行或者一定数量的行,该怎么办呢?这是可行的,然而遗憾的 是,各种数据库中的这一 SQL 实现并不相同。在MySQL、MariaDB、PostgreSQL、SQLite、Clickhouse等开源数据库中使用 SELECT 时,可以使用LIMIT关键字来限制 最多返回多少行,如下所示:
SELECT * FROM taobao.tmall20211031 limit 5;

上面代码使用 SELECT …… FROM …… LIMIT 5 语句,只检索前 5 行数据。LIMIT 5指示MySQL等数据库软件返回不超过 5 行的数据。这个语句的输出参见下面的图示。


为了得到后面的 5 行数据,需要指定从哪儿开始以及检索的行数,像这样:

SELECT * FROM taobao.tmall20211031 LIMIT 5 OFFSET 5;

LIMIT 5 OFFSET 5 指示 MySQL等数据库软件返回从第 5 行起的 5 行数据。第一个数字是指从哪儿开始,第二个数字是检索的行数。这个语句的输 出结果如下图所示。

所以,LIMIT 指定返回的行数。LIMIT 带的 OFFSET 指定从哪儿开始。


注意:第 0 行

第一个被检索的行是第 0 行,而不是第 1 行。因此,LIMIT 1 OFFSET 1 会检索第 2 行,而不是第 1 行。


提示:MySQL 和 MariaDB 捷径

MySQL和MariaDB支持简化版的LIMIT 4 OFFSET 3语句,即LIMIT 3,4。使用这个语法,逗号之前的值对应 OFFSET,逗号之后的值对应 LIMIT。下面两个SQL语句是等效的。

SELECT * FROM taobao.tmall20211031 LIMIT 4 OFFSET 3;
SELECT * FROM taobao.tmall20211031 LIMIT 3,4;


说明:并非所有的 SQL 实现都一样

我加入这一节只有一个原因,就是要说明,SQL 虽然通常都有相当一 致的实现,但你不能想当然地认为它总是这样。非常基本的语句往往 是容易移植的,但较复杂的语句就不同了。当你针对某个问题寻找 SQL 解决方案时,一定要记住这一点。



预览时标签不可点

微信扫一扫
关注该公众号

继续滑动看下一个
新零售日志
向上滑动看下一个
知道了
微信扫一扫
使用小程序
取消 允许
取消 允许
视频 小程序 ,轻点两下取消赞 在看 ,轻点两下取消在看 分享 留言 收藏