我需要在列中找到特定值的总出现次数。
例如
在我的mysql表结构的下图中,我有essc_a1
,essc_a2
...... essc_a10
等字段。
a1
到a10
条目。我需要找到一个值的出现次数(例如:"例如"或" ; S")在a1到a10列中。
我尝试了以下查询但不适合我。
SELECT
COUNT(essc_a1,essc_a2,...,essc_a10) as count
FROM
employee_satisfaction_survey_checklist
GROUP BY
essc_a1, essc_a2,..., essc_a10
WHERE
essc_a1 LIKE '% es %'
OR essc_a2 LIKE '% es %'
OR .... essc_a10 LIKE '% es %';
请帮帮我。
答案 0 :(得分:1)
嗯,这很难看,但可以做到。对于每个问题的每个响应,有一个问题表和一个单行的表会更有意义,但是如果你不能这样做,你可以做这样的事情,扩展SUM以包括所有10列:
SELECT SUM(IF(essc_a1 LIKE '%es%', 1, 0) + IF(essc_a2 LIKE '%es%', 1, 0))
FROM employee_satisfaction_survey_checklist