让我用一个例子解释我的问题
考虑以下值列
City
-------
Chennai
Delhi
Mumbai
我想要的输出是
City
-------
Chennai
Mumbai
当你看到价值'Chennai'有两个'N'和'孟买'有两个'M'
查找满足上述条件的值的查询是什么
我正在使用MySQL
答案 0 :(得分:1)
您可以使用此处的某些逻辑,然后按照Count all occurances of different characters in a column
的方式进行过滤答案 1 :(得分:0)
你能尝试一下吗?如果需要,可以创建函数并接受动态值并传递给相应的函数
IF(LEN('Chennai')-LEN(REPLACE('Chennai', 'N', ''))>1 )
Select 'Chennai'
答案 2 :(得分:0)
如果城市名称仅包含拉丁字符,则可能的解决方案
SELECT DISTINCT city
FROM table1 c CROSS JOIN
(
SELECT 0 n UNION ALL
SELECT a.N + b.N * 5 + 1 n
FROM
(SELECT 0 AS N UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4) a
,(SELECT 0 AS N UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4) b
ORDER BY n
) n
WHERE CHAR_LENGTH(city) - CHAR_LENGTH(REPLACE(LOWER(city), CHAR(97 + n.n), '')) > 1
输出:
| CITY | |---------| | Mumbai | | Chennai |
这是 SQLFiddle 演示