我有这样的表格数据
index user date rank
11 a 1Mar 23
12 b 1Mar 16
13 a 2Mar 24
14 b 2Mar 18
我想通过查询实现的是:
1Mar 2Mar
a 23 24
b 16 18
我不知道这是否可以通过命令行中的单个语句来完成,或者是否必须通过表单和一些脚本来完成。我可以通过脚本执行操作,但看不到如何在单个语句中执行操作。
最佳答案
如果您知道日期的所有可能值,您可以像下面这样进行数据透视 或者你需要使用动态sql。
SELECT user,
MAX( CASE WHEN date ='1Mar' THEN rank else NULL end) AS '1Mar',
MAX( CASE WHEN date ='2Mar' THEN rank else NULL end) AS '2Mar'
FROM Table1
GROUP BY user
关于mysql - 创建列和行 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26458207/