我有一个如下所示的MySQL表。
consulted_on (DATE) consulted_by
-----------------------------------
04/12/2018 Mr.Bob
04/12/2018 Mr.Jhon
04/12/2018 Mr.Bob
05/12/2018 Mr.Jhon
06/12/2018 Mr.Bob
06/12/2018 Mr.Jhon
07/12/2018 Mr.Bob
我想显示如下数据,是否可以得到如下输出?
consulted_on(DATE) Mr.Bob Mr.Jhon
-------------------------------------
04/12/2018 2 1
05/12/2018 0 1
06/12/2018 1 1
07/12/2018 1 0
consulted_by列基本上包含动态值,在这种情况下,如何在mysql中编写数据透视查询?有人可以帮我吗?
非常感谢
-苏达珊
答案 0 :(得分:0)
请使用以下查询:
SELECT
consulted_on,
SUM(CASE WHEN (consulted_by='Mr.Bob') THEN 1 ELSE 0 END) AS Mr_Bob,
SUM(CASE WHEN (consulted_by='Mr.Jhon') THEN 1 ELSE 0 END) AS Mr_Jhon,
FROM table_name
GROUP BY consulted_on