MySQL查询(扩展二变量主键/旋转数据)
在 MySQL 中,假设我有一个名为“data”的表,其中包含“x”、“y”和“value”列
data:
x y value
A D 0.5
A E 0.8
A F 4.2
B D 3.1
C F 1.6
并假设 (x,y) 是主键。
是否有一个我可以运行的 SELECT 查询,以便输出是
X D E F
A 0.5 0.8 4.2
B 3.1 n/a n/a
C n/a n/a 1.6
我将知道“y”的可能值,以便可以将其硬编码到查询中(尽管如果查询更通用,我当然更喜欢它)。
谢谢。
In MySQL, suppose I have a table called 'data' with columns 'x', 'y', and 'value'
data:
x y value
A D 0.5
A E 0.8
A F 4.2
B D 3.1
C F 1.6
And suppose (x,y) is the primary key.
Is there a SELECT query I can run such that the output is
X D E F
A 0.5 0.8 4.2
B 3.1 n/a n/a
C n/a n/a 1.6
I will know the possible values of 'y' so that can be hard-coded into the query (although I would of course prefer it if the query was more general).
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您想要的称为“数据透视表”。
关于数据透视表以及在 MySql 中生成数据透视表的方法的详细解释可以在以下位置找到:
http://dev.mysql.com/tech-resources/articles/wizard /index.html
虽然您确实需要“自定义”SQL 来指定数据透视表的列名称,但如果您事先不知道它们,您可以使用 SQL 为您生成它们!看看文章吧!
What you want is called a "Pivot Table".
A nice explanation of Pivot tables and ways of generating them in MySql may be found at:
http://dev.mysql.com/tech-resources/articles/wizard/index.html
Though you do need "custom" SQL to specify the column names for your pivot table if you don't know them in advance you can use SQL to generate them for you! Check out the article!