我想在mysql中使用关键词

时间:2011-04-13 10:36:40

标签: mysql

我正在使用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%”; 但它会返回所有记录。

由于

3 个答案:

答案 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。他已经回答了你的问题。在你允许的情况下我添加了一小串字符串。