我想计算“诊断”列中字符串的出现次数。
我现在所做的就是这样 - 它得到了我需要的结果
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 值放入诊断表中。 JOIN
和 GROUP 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/