`
wander312
  • 浏览: 215434 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Mysql order by的一些技巧

 
阅读更多

可以按照自己想要ORDER BY的顺序去ORDE BY.....

 

1. 只按日期排序,忽略年份
> select date, description from table_name order by month(date),dayofmonth(date);
注意:单纯使用dayofyear来排序会导致错误,如2-29与非闰年的3-1日同等级

2. 排序点分式IP
> select ip from table_name order by inet_aton(ip);
或者在设计表时就使用 int unsigned 来表示ip。

3. 将某列中特定值排在最前
例如想把表中lulu的名字排在最前显示,其他按字母排序
> select name from table_name order by if(name='lulu',0,1),name ;
也可以把if的条件根据需要换成相应的语句。

4. 将某列内容按照用户自定义的顺序排序
例如想把表中的名字按lulu,xixi,baba,mama的非常规顺序排序输出:
> select name from table_name order by field(name,'lulu','xixi','baba','mama');

5. 对枚举类型排序
枚举类型默认为数字排序,如果希望以字符串形式排序。
> select name from table_name order by cast(name as char);
如果希望更改enum的排序默认顺序,可以alter table
alter table table_name modify name enum('lulu','xixi','mama','baba');

6. 按csv类型的字符串的某字串排序
例如某列m_str内容是形如abc-321-mno-jkl的形式,希望对第二列进行排序
> select m_str from table_name
order by substring_index(substring_index(m_str,'-',2),'-',-1);

分享到:
评论

相关推荐

    Mysql优化order by语句的方法详解

    MySQL数据库中,ORDER BY语句用于对查询结果进行排序,其优化对于提升查询性能至关重要。在深入了解优化方法之前,理解索引的工作原理是基础。索引是数据库管理系统中用于加速查询的一种数据结构,通常采用B+树的...

    MySQL Order by 语句用法与优化详解

    MySQL的`ORDER BY`语句是SQL查询中用于对结果集进行排序的关键部分,它可以按照指定的列或列组合对数据进行升序(`ASC`)或降序(`DESC`)排列。在处理大量数据时,优化`ORDER BY`对于提高查询效率至关重要。 首先,...

    MYSQL数据查询技巧.pdf

    本文将探讨在MySQL中遇到的三个典型问题及其解决方案,包括无法插入中文数据、如何一次性替换数据表中的字符串以及处理ORDER BY错误。 首先,关于无法插入中文数据的问题。当新启用的MySQL服务器在导入包含中文数据...

    MySQL数据库优化SQL篇PPT课件.pptx

    从执行计划、SELECT语句、IN和EXIST语句、LIMIT语句、RAND函数、Order by、Group by、Distinct和Count等方面对MySQL数据库优化进行了详细的讲解。 一、执行计划 执行计划是MySQL数据库优化的重要步骤。执行计划...

    mysql是使用技巧

    在使用MySQL的过程中,掌握一些实用技巧可以极大地提升工作效率和系统性能。以下是对标题和描述中提到的一些关键知识点的详细说明: 1. **索引管理**: - Kaj建议合理创建索引,但Ronald提醒不要过度索引。索引...

    MySQL 精华技巧(CHM)

    3. **查询优化**:讲述如何编写高效的SQL查询,包括避免全表扫描,合理使用LIMIT和ORDER BY,以及理解EXPLAIN计划来分析查询性能。 4. **存储引擎**:讨论InnoDB和MyISAM等主要存储引擎的特性,比如事务处理、行级...

    Mysql的数据集 Mysql的数据集 Mysql的数据集

    例如,我们可以使用 `WHERE` 子句来筛选满足特定条件的行,`ORDER BY` 来对结果进行排序,`GROUP BY` 用于对数据进行分类聚合: ```sql SELECT Department, COUNT(*) FROM Employees GROUP BY Department ORDER BY ...

    MySql 5.1 参考手册.chm

    7.2.12. MySQL如何优化ORDER BY 7.2.13. MySQL如何优化GROUP BY 7.2.14. MySQL如何优化LIMIT 7.2.15. 如何避免表扫描 7.2.16. INSERT语句的速度 7.2.17. UPDATE语句的速度 7.2.18. DELETE语句的速度 7.2.19. 其它...

    【DISTINCT】优化之MySQL官方文档翻译

    为了帮助用户更好地理解和优化此类查询,本文将详细介绍MySQL如何处理`DISTINCT`优化,并给出一些实用的技巧和建议。 #### 二、DISTINCT与ORDER BY的优化 当`DISTINCT`与`ORDER BY`一起使用时,MySQL通常需要创建...

    MySQL 5.1参考手册

    7.2.12. MySQL如何优化ORDER BY 7.2.13. MySQL如何优化GROUP BY 7.2.14. MySQL如何优化LIMIT 7.2.15. 如何避免表扫描 7.2.16. INSERT语句的速度 7.2.17. UPDATE语句的速度 7.2.18. DELETE语句的速度 7.2.19. ...

    (mysql面试题)MySQL中的优化技巧,如查询优化、索引优化及代码展示.txt

    例如,在需要对学生成绩进行统计分析时,我们可以先通过索引对数据进行预排序,然后再使用GROUP BY或ORDER BY,这样可以避免额外的排序开销。 ### 二、索引优化 #### 2.1 为经常用于查询条件的列创建索引 索引可以...

    mysql语法手册-mysql语法手册-mysql语法手册-mysql语法手册

    它支持各种选择条件(WHERE子句)、排序(ORDER BY子句)、分组(GROUP BY子句)和聚合函数(如COUNT(), SUM(), AVG(), MAX(), MIN())。 3. 更新数据:UPDATE语句用于修改已存在的记录。 4. 删除数据:DELETE FROM...

    Mysql手册_MYSQL_

    它可以结合WHERE子句过滤结果,使用GROUP BY和HAVING进行分组,以及使用ORDER BY和LIMIT进行排序和限制返回的行数。 5. 插入与更新数据:INSERT语句用于向表中添加新记录,UPDATE语句用于修改已存在的记录。DELETE...

    MySQL 5.1中文手冊

    7.2.12. MySQL如何优化ORDER BY 7.2.13. MySQL如何优化GROUP BY 7.2.14. MySQL如何优化LIMIT 7.2.15. 如何避免表扫描 7.2.16. INSERT语句的速度 7.2.17. UPDATE语句的速度 7.2.18. DELETE语句的速度 7.2.19. 其它...

    MySQL DQL - 排序查询.md

    本篇文章将详细介绍如何在 MySQL 中使用 `ORDER BY` 进行数据排序,并通过实例进行说明。 #### 基本语法 `ORDER BY` 子句的基本语法如下: ```sql SELECT column_name FROM table_name ORDER BY column_name [ASC...

    MySQL 5.1官方简体中文参考手册

    7.2.12. MySQL如何优化ORDER BY 7.2.13. MySQL如何优化GROUP BY 7.2.14. MySQL如何优化LIMIT 7.2.15. 如何避免表扫描 7.2.16. INSERT语句的速度 7.2.17. UPDATE语句的速度 7.2.18. DELETE语句的速度 7.2.19. 其它...

    网易技术部MySQL资料总结.pdf

    - 常用SQL的优化:提供了一些具体SQL语句的优化技巧,比如大批量插入数据、优化insert语句、group by和order by语句,以及join语句的优化。 - 锁问题:讲解了如何获取锁等待情况,表锁和行锁的使用,以及锁冲突的...

Global site tag (gtag.js) - Google Analytics