1

I want to search an string on occurences of a substring. But I want to limit them to specific amounts to detect.

My angles VARCHAR looks like this:

0,90,0,90,180,180,270,0,270,0,90

My first attempt was with a LIKE statement. But I cannot count the occurences then:

SELECT *   FROM anglesTable WHERE corners LIKE "%180%' AND corners LIKE "%270%'  LIMIT 1000 

my second try was this:

 SELECT  *, foo.counts270,foo.counts180,foo.counts60 FROM 
   (
     SELECT anglesNew.*, 
            LENGTH( corners) - LENGTH(REPLACE(corners, '270', '')) AS counts270,
            LENGTH( corners) - LENGTH(REPLACE(corners, '180', '')) AS counts180, 
            LENGTH( corners) - LENGTH(REPLACE(corners, '60', '')) AS counts60 
     FROM anglesNew 
   ) as foo

But that is too slow.

I want to know if there's a more faster way to query this through a database of 3 million entries.

If there's a better way to search this kind of data, advise would be welcome.

Martijn Mellens
  • 520
  • 7
  • 25

0 Answers0