检测MySQL中的重复字符

时间:2016-03-11 16:46:47

标签: mysql regex

是否有更少的暴力方式来完成这样的事情:

SELECT
    COUNT(b.id),
    COUNT(
       IF(
          phone = '1111111111' 
          OR phone = '22222222222' 
          ....
          OR phone = '9999999999', 1, NULL))
FROM table 
WHERE created >= DATE_SUB(NOW(), INTERVAL 90 DAY);

更新 理想情况下,我实际上能够检测到以下任何内容:

  • 4444
  • 4444444444
  • 1111111111
  • 9999999999
  • 99999

所以在该字段中重复相同数字的任何实例至少4次。

1 个答案:

答案 0 :(得分:1)

de ja vu?或许去年有人问过这个问题。

<ul class="nav">
<li><a href="#">Home</a>

</li>
<li><a href="#">Our Company</a>

<div class="tab1">
<div class="container-1">
<div class="col1"> <a href="#">Business Reports</a>

 <br> <a href="#">Core Values</a>

 <br> <a href="#">Corp Priority Updates</a>

 <br> <a href="#">Critical Success Factors</a>

 <br> <a href="#">Daily Reports</a>

 <br> <a href="#">EBIT Chart</a>

 <br> <a href="#">HyVisability Scorecard</a>

<br>  <a href="#">Mission Statement</a>

 <br> <a href="#">Quality Vision</a>

 <br> <a href="#">Strategic Vision</a>

 <br>
 </div>
 </div>
 </div>
</li>

将计算有多少行有一些数字重复4次或更多次。 (请注意使用SUM(RLIKE '0{4}|1{4}|2{4}|3{4}|4{4}|5{4}|6{4}|7{4}|8{4}|9{4}') 代替SUM。这是有效的,因为COUNT将返回1表示true或0表示false。)

示例:

RLIKE