获取逗号分隔值并在mySQL中计数

时间:2016-10-26 07:48:27

标签: php mysql sql

表格

水果

f_id  | names
---------------
1   |   Apple
2   |   grapes
3   |   mango
4   |   orange
5   |   cherry

一些常见的表,我存储水果表f_id是逗号分隔或单个

共同

id  |   f_id    |   m_id
-------------------------
1   |   1       |   7
2   |   1       |   7
3   |   1       |   7
4   |   3,4     |   8
5   |   2       |   7
6   |   5       |   8
5   |   2       |   9
5   |   2,4     |   9
5   |   4,5     |   9
5   |   1,3     |   10
5   |   2       |   10

现在,我想基于m_id获取数据。如果我将7传递到下面的查询

,我有m_id 7
  

SELECT COUNT(C.f_id)作为count,C.f_id,(从fruits中选择名称   f_id = C.f_id)作为名称FROM common C,其中C.m_id = 7 group by   C.f_id

根据我的查询,我得到了结果

count   |   f_id    |   name
------------------------------
3       |   1       |   Apple
1       |   2       |   grapes

但是,当我通过具有逗号分隔值的8 OR 9 OR 10时,我失败了 我也试过IN()运算符和FIND_IN_SET()

  

SELECT COUNT(C.f_id)作为count,C.f_id,(从fruits中选择名称   f_id IN(C.f_id))作为名称FROM common C,其中C.m_id = 8 group by   C.f_id

如何获取m_id = 8的预期数据(我想按照以下方式,请提示)

count   |   f_id    |   name
------------------------------
1       |   3,4     |   Mango, orange
1       |   5       |   cherry

0 个答案:

没有答案