内容简介:命令:举例:对数据库user表的name字段按照汉字拼音排序,user表数据如下:
命令:
若库表为uft8字符集时,需转换为gbk编码再排序:【比较常见】 order by convert(columnname(排序的列名) using gbk) asc; order by convert(columnname(排序的列名) using gbk) desc; 若库表为gbk字符集时,直接排序: order by columnname(排序的列名) asc; order by columnname(排序的列名) desc; 复制代码
举例:
对数据库user表的name字段按照汉字拼音排序,user表数据如下:
查看user表的DDL:user表采用utf8字符集,中文不能按照拼音排序,需转换为gbk编码,再进行排序
对user表的name字段进行gbk编码再排序: 【升序的话,英文排在中文前面的;反之降序排在后面】
2. 查询表中重复记录/查询表中某字段值存在重复值
一般不存在表中有完全重复的记录,因为我们在设计数据库表时,都有主键(id),不可重复,所以常见情况都是表中某字段值存在重复。
<1> 查询某一字段存在重复值的命令:
select columnname(字段名), count(*) as count from tablename(数据库表名) group by columnname(字段名) having count > 1; 命令扩展: select columnname(字段名), count(columnname(字段名)) as count from tablename(数据库表名) group by columnname(字段名) having count > 1 order by count desc; 复制代码
举例:
<2> 查询多个字段同时存在重复值的命令:
select columnname1(字段名1), columnname2(字段名2), count(*) as count from tablename(数据库表名) group by columnname1(字段名1), columnname2(字段名2) having count > 1; 复制代码
举例:
<3> 查询某一字段存在重复值的具体行记录信息:
方式一:使用in + 子查询 【数据量大时,耗时长,效率低】
举例:先用子查询查出user表中name字段的重复值,然后在user全表中做in匹配。
方式二:使用临时表做关联查询 【建立临时表,耗时短,效率高,推荐】
举例:把user表中重复的name字段值存放临时表usertemp中,使用关联查询,查出重复name字段的具体行记录信息。
表明要关联的两个表user和usertemp,关联的字段名是一致的,都为name。
<4> 查询多个字段同时存在重复值的具体行记录信息:
举例:
3. 去除表中重复记录
表中重复记录:指的是表中完全重复的记录,即所有字段值均重复。
一般我们在设计数据库表时,都有主键id,不可重复,所以一般不存在表中记录完全重复的情况;若出现了此情况,建议先从表结构设计上查找问题,增加主键,优化表结构。
查询表中完全重复的记录命令: 【不常用】
select distinct * from tablename(数据库表名); 复制代码
后续持续更新中...
以上所述就是小编给大家介绍的《MySQL项目实战总结》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- flink入门实战总结
- Netty入门与实战教程总结分享
- javascript数组常用函数与实战总结
- 架构-稳定性建设逻辑问题实战总结
- vue-router项目实战总结篇
- Java SpringBoot集成RabbitMQ实战和总结
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
计算机程序设计艺术(第1卷)
[美] Donald E. Knuth / 清华大学出版社 / 2002-9 / 80.00元
第1卷首先介绍编程的基本概念和技术,然后详细讲解信息结构方面的内容,包括信息在计算机内部的表示方法、数据元素之间的结构关系,以及有效的信息处理方法。此外,书中还描述了编程在模拟、数值方法、符号计算、软件与系统设计等方面的初级应用。此第3版增加了数十项简单但重要的算法和技术,并根据当前研究发展趋势在数学预备知识方面做了大量修改。一起来看看 《计算机程序设计艺术(第1卷)》 这本书的介绍吧!