MySQL 函数limit offset

嘿嘿,给大家介绍一下MySQL中的这两个东西:LIMIT和OFFSET,相当实用。

LIMIT 意味着您可以记录任意数量的结果。
例如,如果你写 sql SELECT FROM ARTICLE LIMIT 3 ;
这意味着在文章列表中我只需要携带前三项。

对于OFFSET来说,在开始接受之前应该跳过多少个元素。
例如,如果你写 sql SELECT FROM ARTICLE LIMIT 3 OFFSET 1 ;
这是什么意思?跳过第一个,从第二个开始,然后第三个。
所以如果你仔细想想,这涵盖了第二点到第四点,对吧?
为什么这么说?因为 MySQL 中的计数是从 0 开始的。
所以 OFFSET 1 实际上会跳过元素 0 并从元素 1 开始。
明白了吗?
有时你只是使用 LIMIT,比如 sql SELECT FROM Article LIMIT 5 ;
这意味着您从第一个开始随机选择五个项目。

如果你写 sql SELECT FROM ARTICLE LIMIT 3 , 5 ;
这句话其实和上面这句话是一样的。
sql SELECT FROM Article LIMIT 5 OFFSET 3 ;
具有相同的含义。
只需跳过前 3 项,然后获取 5 项即可。
但一般没有人这样写,他们总是写成 LIMIT 5 OFFSET 3 以方便阅读。

例如,看看这个 sql SELECT FROM table LIMIT 1 , 2 ;
这意味着跳过元素 0 和 1 (前两个)并再获取两个。
这就是第 3 点和第 4 点。

再看一遍。
sql SELECT FROM table LIMIT 2 OFFSET 1 ;
这也会跳过元素 0 和 1 并接受另外两个元素。
所以这也是第3 点和第4 点。
你看,这和上面这句话的结果是一样的。

简单来说,LIMIT表示你需要拿多少物品,OFFSET表示从哪里开始拿。
使用起来很有趣。

当你尝试时你就会知道。

mysql中limit的用法

这里有一个陷阱:直接使用 LIMIT 和 OFFSET 会导致扫描大量数据,影响性能。
不要这样做:在大数据集中使用大的 OFFSET 值。
实用提醒:使用索引和 WHERE 子句代替 OFFSET 进行分页。

Mysql中if函数的使用

Mysql IF函数的条件判断,用法:IF(expr1 ,expr2 ,expr3 ),expr1 如果为true则返回expr2 ,如果为false则返回expr3
查询用户数据,IF处理空值:user_id为空,first_time、total_amount、new_amount默认为0。

统计记录count(): 1 . count():所有列数和行数,忽略NULL。
2 . count(1 ):固定值1 ,忽略NULL。
3 . count(列名):指定列,忽略NULL。
4 . count(区分列名):不同的值,忽略NULL。

效率:
主键列(列名)数量较多。

非主键列(1 )的数量很大。

主键(列名)的数量是最佳的。

计算单个列()是最佳的。

没有主键的多列 count(1 ) 比 count() 更好。

统计 NULL 值:带有 where 子句的 count() 或 count(1 )。

特殊情况:
count(''):返回记录数。

count(0):返回记录数。

count(null):返回 0。