西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > 开发教程 > mysql教程 >

mysql查询重复字符串出现次数

时间:2016-06-03 14:39来源:未知 作者:好模板 点击:
mysql查询重复字符串在列中出现的次数 起因 前期app测试没有做好,导致app上传图片会出现重复现象,比如只允许上传9张图,但是用户在网络不好的情况下可能会重复上传,就导致出现

mysql查询重复字符串在列中出现的次数

起因

前期app测试没有做好,导致app上传图片会出现重复现象,比如只允许上传9张图,但是用户在网络不好的情况下可能会重复上传,就导致出现18张或者更多,最多的一个看到过48张的,简直吓人。

现在该bug已经修复,但是历史遗留的数据还得处理啊,需要找出超过九张的数据。

方案

因为规定了图片最多只能上传九张,并且每张图片都是以英文 “,” 相隔开的,且最后一张图片后面没有 “,” ,所以我只需要统计 img 字段中 “,” 出现的次数大于8即可。

实现

Mysql 中没有这样的语句,所以我们需要转换下思路。即:

  1. 用 length 语法,获取到 img 的长度 length1
  2. 用 “” 替换掉 img 中的 “,” ,然后获取替换后的 img 长度 length2
  3. 计算 (length1 - length2) ,取别名为 num
  4. 查询出 num>8 的row,大于8,则说明至少有8个 “,” 被替换。

SQL 语句

SELECT img,(LENGTH(img) - LENGTH( REPLACE(img,',','') )) num FROM plan_stage having num>8

(责任编辑:好模板)
顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容