作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在寻找一个 mysql 查询来执行此操作:
我有一张 table :核心
id tag
1 GameAnimal
2 Game
3 AbstractGame
4 AbstractAnimal
5 GameAbstract
现在我想要一个结果来计算像这样的值
Game : 4
Animal : 2
Abstract : 3
我已经使用 mysql 的 in 函数完成了类似的操作:
select tag, count(*) as count from core where tag in('Game','Abstract') group by tag
这给了我结果
Game : 1
上面的查询匹配字母然后给出响应,因为 GameAnimal 不等于 Game 它没有被包含在结果中,这里没有通配符。
如果这样的查询不可能,那么建议我在单个查询调用中执行此操作的方法。
最佳答案
或者,您可以这样做(假设您能够动态构建查询):
select
count(if(tag like '%Game%', 1, null)) AS Game_Count,
count(if(tag like '%Animal%', 1, null)) AS Animal_Count,
count(if(tag like '%Abstract%', 1, null)) AS Abstract_Count
from
core
如果您需要将结果作为列获取,或者使用 union
语法(当标签数量很大时这将很有用)
关于php - 用于将 sql LIKE 实现为 sql IN 的 Mysql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18232270/
我是一名优秀的程序员,十分优秀!