是否有一个MySql SELECT将给出a列与B列的结果?

是否有一个MySql SELECT将给出a列与B列的结果?,mysql,Mysql,在这个问题上。。。 …海报询问如何创建一个MySql表,该表表示具有x和y类型信息的Excel电子表格 我想知道是否有任何选择会给出类似于原始Excel格式的x列与y列的结果?换句话说,如何从答案中给出的表格开始,然后返回问题中显示的电子表格 修改后的问题1:假设源MySql表没有x到y的唯一映射,并且您需要一个显示每个x到y组合的计数(“值”)的表,而不是一个具有x对y值的结果。(即x与y样本的直方图) 修改后的问题2:与修改后的问题1相同,只是MySql表中不存在x和y的某些组合,因此您希望

在这个问题上。。。 …海报询问如何创建一个MySql表,该表表示具有x和y类型信息的Excel电子表格

我想知道是否有任何选择会给出类似于原始Excel格式的x列与y列的结果?换句话说,如何从答案中给出的表格开始,然后返回问题中显示的电子表格

修改后的问题1:假设源MySql表没有x到y的唯一映射,并且您需要一个显示每个x到y组合的计数(“值”)的表,而不是一个具有x对y值的结果。(即x与y样本的直方图)

修改后的问题2:与修改后的问题1相同,只是MySql表中不存在x和y的某些组合,因此您希望计数在选择结果中显示为0。(即x与y样本的直方图,表中并非x与y的所有组合)

下面是一个我想为“修改后的问题2”实现的示例:

我可以通过GROUP BY创建一个select,该GROUP BY将为我提供:

   x    y  COUNT(value)
------------------- 
 762  635      3
 762  762      4
 762  889      1
1016  635      1
1016  889      1
1270  635      1
1270  762      1
1270  889      2
但是,如果一个查询就可以生成二维样式的表,对我来说会更方便。我还要解释缺少的组合x=1016,y=762。我已经接近了组_CONCAT(),但我最终得到了:

   x | hist
----------
 762 | 3,4,1
1016 | 1,1
1270 | 1,1,2
将y值作为列标题会很好,但这并不是世界末日。但是缺少的x,y组合是不可能的。我的真实数据是一个更大的直方图,不知道空值在哪里是不好的


我目前的MySql技能无法胜任这项任务。或者,也许,这是做不到的,我应该停止尝试我希望有人知道答案。提前谢谢

从使用我的存储过程。准备用于在视图中旋转的数据:

CREATE VIEW source_for_pivot
AS 
SELECT x, y, COUNT(value) cnt
FROM test
GROUP BY x, y;
然后简单地

CALL pivot ('source_for_pivot', 'x', 'y', 'cnt');



如果
y
值的完整列表是静态的、从未更改且众所周知的,那么您可以找到/使用更简单的解决方案。

请参阅Thank@草莓!这是个好建议!下次我会努力做得更好。
CALL pivot ('source_for_pivot', 'x', 'y', 'cnt');