如何在mysql中创建成对枢轴表矩阵

用户5332276

我有这样的数据:

id_jarak    idkota1 idkota2 jarak
1           1       2       1
2           1       3       2
3           1       4       3
4           2       1       1
5           2       3       5
8           3       5       8
7           3       2       5
6           3       1       2
9           4       1       3
10          4       5       9
11          5       3       8
12          5       4       9

我尝试从该数据中获取数据透视和矩阵作为我的查询

SELECT a.idkota1,
( IF(a.idkota2 = '1' or b.idkota1 = '1', a.jarak, 0 ) ) AS 1s,
( IF(a.idkota2 = '2' or b.idkota1 = '2', a.jarak, 0 ) ) AS 2s,
( IF(a.idkota2 = '3' or b.idkota1 = '3', a.jarak, 0 ) ) AS 3s,
( IF(a.idkota2 = '4' or b.idkota1 = '4', a.jarak, 0 ) ) AS 4s,
( IF(a.idkota2 = '5' or b.idkota1 = '5', a.jarak, 0 ) ) AS 5s

FROM ms_jarak_kota as a
inner join ms_jarak_kota as b
on a.idkota1>=b.idkota2
GROUP BY b.idkota2

但是结果显示像这样

idkota1 1s  2s  3s  4s  5s
1       0   1   0   0   0
2       1   0   0   0   0
3       2   0   0   0   0
4       3   0   0   0   0
5       0   0   8   0   0

我的期望结果是这样的

    1s  2s  3s  4s  5s
  1 0   1   2   3   
  2 1   0   5       
  3 2   5   0       8
  4 3           0   9
  5         8   9   0

我的查询有问题,如何解决?谢谢

乔治·贝索斯(Giorgos Betsos)

尝试这种方式:

SELECT idkota1, 
       MAX(CASE WHEN idkota2 = 1 THEN jarak END) AS '1s',
       MAX(CASE WHEN idkota2 = 2 THEN jarak END) AS '2s',
       MAX(CASE WHEN idkota2 = 3 THEN jarak END) AS '3s',
       MAX(CASE WHEN idkota2 = 4 THEN jarak END) AS '4s',
       MAX(CASE WHEN idkota2 = 5 THEN jarak END) AS '5s'
FROM ms_jarak_kota
GROUP BY idkota1

演示在这里

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在R中创建成对乘积矩阵

来自分类Dev

如何使用`grid`创建成对图(类似矩阵的图)?

来自分类Dev

从R中的数据帧创建成对值的平方矩阵

来自分类Dev

ggplot如何创建成对的误差线

来自分类Dev

从单个numpy数组创建成对匹配矩阵的最快方法

来自分类Dev

通过列表格式的规则创建成对比较矩阵

来自分类Dev

R编程:创建成对元素列表

来自分类Dev

R编程:创建成对元素列表

来自分类Dev

如何仅在特定(较大)的多边形中创建成对的多边形并计算该对中包含的所有点?

来自分类Dev

如何创建矩阵表

来自分类Dev

如何在python中创建矩阵数组?

来自分类Dev

如何在numpy中创建子矩阵

来自分类Dev

如何在JButtons矩阵中创建事件?

来自分类Dev

如何在R中创建列表矩阵?

来自分类Dev

如何在R中创建转换矩阵

来自分类Dev

如何在R中逐步创建矩阵

来自分类Dev

如何在python中创建矩阵数组?

来自分类Dev

如何在Swing中创建随机矩阵?

来自分类Dev

如何在矩阵中创建行的子集

来自分类Dev

如何在lua中创建动态矩阵

来自分类Dev

如何在R中创建关系矩阵?

来自分类Dev

如何在MySQL中创建动态数据透视表

来自分类Dev

如何在mysql中修复或删除/创建损坏的表?

来自分类Dev

如何在php中创建动态表调用mysql程序

来自分类Dev

如何在R中对两个维度不等的矩阵进行成对计算

来自分类Dev

从两列创建成对数据框

来自分类Dev

如何在枢轴列中合并多行

来自分类Dev

如何从R中的成对比较中制作矩阵?

来自分类Dev

在R中创建具有多个变量的比例枢轴表