MYSQL数据库的一些常用操作

By | July 22, 2020

mysql查询重复数据(把有重复的给列出来)

SELECT * FROM `it_info` GROUP BY `last_name` HAVING COUNT(*)>1

使用replace批量更新SQL某个字段的某个字符,比如批量替换last_name里包含的’位空

update `user` set `last_name`=REPLACE(`last_name`,"'","") WHERE `last_name` LIKE "%'%"

批量更新数据库数组,在长度小于5的数据前面加0

update `address` set `zip`=concat('0',`zip`) WHERE length(`zip`) < 5

Think PHP

查询数据库某一个字段的唯一值

 Db::table('user')->distinct(true)->field('class')->select();

这将仅取出 class 唯一值的列表

Db::table('user')->group('class')->order('name desc')->select();

这将取出class唯一的每一条记录,组成列表


随机取同一个字段里面,不同分组的一条记录

 Db::table('user')
->where('status',1)
->orderRand()
->buildSql();

先构建一个子查询,把所有值随机排序

 Db::table($subQuery . ' a')
->group('class')
->orderRand()
->select();

然后再把子查询的值分组

Leave a Reply