可以按照自己想要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语句用于对查询结果进行排序,其优化对于提升查询性能至关重要。在深入了解优化方法之前,理解索引的工作原理是基础。索引是数据库管理系统中用于加速查询的一种数据结构,通常采用B+树的...
MySQL的`ORDER BY`语句是SQL查询中用于对结果集进行排序的关键部分,它可以按照指定的列或列组合对数据进行升序(`ASC`)或降序(`DESC`)排列。在处理大量数据时,优化`ORDER BY`对于提高查询效率至关重要。 首先,...
本文将探讨在MySQL中遇到的三个典型问题及其解决方案,包括无法插入中文数据、如何一次性替换数据表中的字符串以及处理ORDER BY错误。 首先,关于无法插入中文数据的问题。当新启用的MySQL服务器在导入包含中文数据...
从执行计划、SELECT语句、IN和EXIST语句、LIMIT语句、RAND函数、Order by、Group by、Distinct和Count等方面对MySQL数据库优化进行了详细的讲解。 一、执行计划 执行计划是MySQL数据库优化的重要步骤。执行计划...
在使用MySQL的过程中,掌握一些实用技巧可以极大地提升工作效率和系统性能。以下是对标题和描述中提到的一些关键知识点的详细说明: 1. **索引管理**: - Kaj建议合理创建索引,但Ronald提醒不要过度索引。索引...
3. **查询优化**:讲述如何编写高效的SQL查询,包括避免全表扫描,合理使用LIMIT和ORDER BY,以及理解EXPLAIN计划来分析查询性能。 4. **存储引擎**:讨论InnoDB和MyISAM等主要存储引擎的特性,比如事务处理、行级...
例如,我们可以使用 `WHERE` 子句来筛选满足特定条件的行,`ORDER BY` 来对结果进行排序,`GROUP BY` 用于对数据进行分类聚合: ```sql SELECT Department, COUNT(*) FROM Employees GROUP BY Department ORDER BY ...
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如何处理`DISTINCT`优化,并给出一些实用的技巧和建议。 #### 二、DISTINCT与ORDER BY的优化 当`DISTINCT`与`ORDER BY`一起使用时,MySQL通常需要创建...
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. ...
例如,在需要对学生成绩进行统计分析时,我们可以先通过索引对数据进行预排序,然后再使用GROUP BY或ORDER BY,这样可以避免额外的排序开销。 ### 二、索引优化 #### 2.1 为经常用于查询条件的列创建索引 索引可以...
它支持各种选择条件(WHERE子句)、排序(ORDER BY子句)、分组(GROUP BY子句)和聚合函数(如COUNT(), SUM(), AVG(), MAX(), MIN())。 3. 更新数据:UPDATE语句用于修改已存在的记录。 4. 删除数据:DELETE FROM...
它可以结合WHERE子句过滤结果,使用GROUP BY和HAVING进行分组,以及使用ORDER BY和LIMIT进行排序和限制返回的行数。 5. 插入与更新数据:INSERT语句用于向表中添加新记录,UPDATE语句用于修改已存在的记录。DELETE...
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 中使用 `ORDER BY` 进行数据排序,并通过实例进行说明。 #### 基本语法 `ORDER BY` 子句的基本语法如下: ```sql SELECT column_name FROM table_name ORDER BY column_name [ASC...
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. 其它...
- 常用SQL的优化:提供了一些具体SQL语句的优化技巧,比如大批量插入数据、优化insert语句、group by和order by语句,以及join语句的优化。 - 锁问题:讲解了如何获取锁等待情况,表锁和行锁的使用,以及锁冲突的...