内容简介:命令:举例:对数据库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实战和总结
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
豆瓣,流行的秘密
黄修源 / 机械工业出版社 / 2009-9 / 29.00
380万人为何会齐聚豆瓣? HIN1和SARS是如何传播扩散开的? 贾君鹏何以快速窜红网络? 通过创新扩散的理论的分析和说明,给出了所有这些问题的答案! 这本书从豆瓣的流行现象说开来,应用了创新扩散等传播学道理来解释了豆瓣如何流行起来,同时作者还同时用创新扩散的理论解释了为何会出现世界变平的现象,长尾理论,SARS病毒的高速传播等。 作者以前任豆瓣设计师的身份以自己亲......一起来看看 《豆瓣,流行的秘密》 这本书的介绍吧!