
mysql
Panco95
这个作者很懒,什么都没留下…
展开
-
查询某条件下记录数大于N的数据
需求,查询记录数大于20的user_id的所有数据第一种 子查询+in查询:SELECT * FROM`table_name`WHERE user_id in (SELECT user_id FROM `table_name` group by user_id having count(user_id) > 10)第二种 子查询+join查询:SELECT * FROM`table_name` AS T JOIN (SELECT user_id, count(1) as原创 2021-09-06 14:58:56 · 1277 阅读 · 0 评论 -
MySQL批量去掉某个字段中的空格
update `tgs_code` set `pkg`=replace(`pkg`,' ','');update `tgs_code` set `riqi`=replace(`riqi`,' ','');update `tgs_code` set `txm`=replace(`txm`,' ','');update `tgs_code` set `bianhao`=replace(`bianhao`,' ','');Mysql有什么办法批量去掉某个字段字符中的空格?不仅是字符串前后的空格,还包含.原创 2021-08-04 11:52:04 · 2265 阅读 · 0 评论 -
悲观锁(select for update)和乐观锁
悲观锁:假设每一次拿数据,都有认为会被修改,所以给数据库的行或表上锁。要注意for update要用在索引上,不然会锁表。START TRANSACTION; # 开启事务select * from table_name where id=1 for update;UPDATE table_name SET name= 'nike' WHERE id = 1;COMMIT; # 提交事务乐观锁:就是很乐观,每次去拿数据的时候都认为别人不会修改。更新时如果version变化了,更.原创 2020-08-01 20:17:03 · 1514 阅读 · 0 评论 -
Mysql间隔时间查询数据
上网找了以下几种方法:查询每分钟的记录SELECT Table, DATE_FORMAT( 时间字段, '%H:%i' ) AS timeFROM 表名称GROUP BY time筛选直接间隔时间使用把(15*60)中的15改成你要间隔的时间,这里是查询间隔15分钟的数据SELECT sec_to_time(time_to_s...原创 2020-04-03 17:50:18 · 7153 阅读 · 0 评论 -
MYSQL中根据字段值判断返回不同的值
原生SQL写法:select case when total > max then 2 when total < min then 1 else 0endfrom ta PHP(ThinkPHP)写法:$data = Db::connect('data')->name("pay-{$date}") ->where($where) ...原创 2019-07-09 15:41:18 · 14485 阅读 · 0 评论