每日mysql
查询结果去重
第一种:使用distinct(关键词distinct用于返回唯一不同的值)
1 | select distinct university from user_profile; |
第二种:使用group by按照university进行分组
1 | select university from user_profile group by university; |
LIMIT 和 OFFSET
LIMIT
LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数
LIMIT 接受一个或两个数字参数。参数必须是一个整数常量
如果只给定一个参数,它表示返回最大的记录行数目
如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目
PS. 初始记录行的偏移量是 0(而不是 1)
检索记录行 6-10
1 | SELECT * FROM table LIMIT 5,5 |
检索记录行 11-last
1 | SELECT * FROM table LIMIT 10,-1 |
检索前 5 个记录行
1 | SELECT * FROM table LIMIT 5 |
OFFSET
OFFSET 是用于指定SELECT语句开始返回行的偏移量的关键字
OFFSET 接受一个整数参数,表示要跳过的行数
OFFSET 偏移量是从0开始计算的
检索记录行 6-10
1 | SELECT * FROM table LIMIT 5 OFFSET 5 |
可见这种方式和用LIMIT 5,5
得到的结果是一样的,只不过LIMIT 5 OFFSET 5
的方式可能更清晰一些
排序
在 MySQL 中,我们可以使用 ORDER BY
子句来对查询结果进行排序。ORDER BY
子句允许你指定一个或多个列,以确定查询结果的排序顺序。并且可以用ASC
(正序)以及DESC
(倒序)来设置排序的正倒序。
以下是一些基本的示例:
- 按升序排序:
1 | SELECT * FROM your_table |
在这个示例中,your_table
是你的表名,column_name
是你想要用来排序的列名。ASC
表示升序排序,即从最小值到最大值。
- 按降序排序:
1 | SELECT * FROM your_table |
在这个示例中,DESC
表示降序排序,即从最大值到最小值。
- 多列排序:
我们可以同时按多个列进行排序。如果第一个列中的值相同,系统将使用第二个列来进行排序,以此类推。
1 | SELECT * FROM your_table |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 被咬了一口の包子°!
评论