我正在使用mysql db并且我有一个名为INFO的表,它有一个列INFO_NUMBER和INFO_SUBJECT,它包含字符串为
+--------------+-------------------------+
| INFO_NUMBER | INFO_SUBJECT |
+--------------+-------------------------+
| A3L1 | updated |
| A3L2 | updated updated |
| A3L3 | updated updated updated |
+--------------+-------------------------+
现在我只想通过like关键字获取那些INFO_SUBJECT包含最多更新字符串的记录,并且我不知道应该追加更新字符串的次数 这是搜索的原因,我的要求是一样的。
我的查询是: SELECT INFO_NUMBER,INFO_SUBJECT FROM INFO WHERE INFO_SUBJECT LIKE“UP%”; 但它会返回所有记录。
由于
答案 0 :(得分:0)
我怀疑是否可以使用单个查询完成此操作(即使可能,也可能会影响性能)。但这可能有助于Mysql count number of regex match per field
答案 1 :(得分:0)
根据您的数据,这将有效:
SELECT * FROM INFO where length(INFO_SUBJECT) in (select max(length(INFO_SUBJECT)) from INFO);
更多时间更新单词的字符串更长。
答案 2 :(得分:0)
SELECT *
FROM INFO
WHERE INFO_SUBJECT LIKE 'up%'
AND length(INFO_SUBJECT) IN (SELECT MAX(length(INFO_SUBJECT)) FROM INFO);
归功于Harry Joy。他已经回答了你的问题。在你允许的情况下我添加了一小串字符串。