mysql - 通过 MySQL 计算字符串中的出现次数

标签 mysql sql

我想计算“诊断”列中字符串的出现次数。

我现在所做的就是这样 - 它得到了我需要的结果

SELECT COUNT(*), diagnosis
FROM patients
WHERE diagnosis like "%OS1%"
UNION

SELECT COUNT(*), diagnosis
FROM patients
WHERE diagnosis like "%OS2%"

... and so on

有时在我的表中,字符串可能出现两次(例如 OS1、OS2),我想计算字符串的每次出现。

我认为用另一种语言这将是一个非常简单的任务,但我想用纯 SQL 来完成。

最佳答案

将 OS1-OS6 和 CH1-CH6 值放入诊断表中。 JOINGROUP BY:

SELECT COUNT(*), d.diagnosis
FROM patients p
RIGHT JOIN diagn d
   on p.diagnosis like concat('%', d.diagnosis, '%')
group by d.diagnosis

关于mysql - 通过 MySQL 计算字符串中的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50675578/

相关文章:

php - 未找到列 : unknown column

mysql - 从映射表中选择类别

mysql - 增值税更改 - 如何更改增值税然后将价格四舍五入

mysql - 对州进行分组并计算每个州的邮政编码数量

选择查询中的 SQL 条件变量

php - CMS 内部搜索引擎中的 PageRank

mysql - 如何找到 MySQL 守护程序错误日志的位置?

mysql - Sql GROUP BY 与数组冲突

mysql - 获取计数(*)的总和()

MySQL:问号而不是符号