-1

我的桌子叫做“asd”

我有这个架构:

id        |  date     |  content |
AUTO_INC    DATETIME    LONGTEXT

现在假设content = 45,67,89,3,45,5

例如,我如何search COUNT()在此表WHERE content CONTAINS 89中?

我试过SELECT COUNT() FROM asd WHERE content IN(89);了,但没有结果。

4

5 回答 5

6

你可以只使用FIND_IN_SET

SELECT COUNT(*) FROM `table` WHERE FIND_IN_SET(89,`content`);

PS您需要阅读有关多对多关系的信息。

于 2013-07-10T07:30:32.157 回答
1

尝试这个

SELECT COUNT(*)
FROM   ASD
WHERE ',' + content  + ','  like '%,89,%'
于 2013-07-10T07:19:41.657 回答
1

你能试试这样吗......我在这个链接http://www.randomsnippets.com/2008/10/05/how-to-count-values-with-mysql-queries/中看到了你想要的东西 。 。希望能帮助到你

  SELECT SUM(IF(content = 89, 1,0)) AS `MATCHED VALUE`,
    COUNT(content) AS `total`
    FROM asd
于 2013-07-10T07:21:11.673 回答
0
SELECT COUNT(*)
FROM   ASD
WHERE  content LIKE '%,89,%' OR
       content LIKE '%,89' OR
       content LIKE '89,%'

%,89,%- 匹配内容中间的89

%,89- 在内容的最后

89,%- 在内容的开头

于 2013-07-10T07:18:00.493 回答
0
SELECT COUNT(*) as cnt FROM `asd` WHERE `content` LIKE '%,89,%' OR  `content` LIKE '89,%' OR `content` LIKE '%,89';

检查 SQL 小提琴: http ://sqlfiddle.com/#!2/151c7/2/0

于 2013-07-10T07:19:31.380 回答