从同一字段订购值

时间:2017-05-15 17:37:35

标签: mysql sql-order-by

我需要帮助:

我有以下表格。

      P1 P2 P3 P4 P5 P6
John   1  2  3  4  5  7
Paul   2  7  5  1  4  3
Mony   7  6  5  4  3  2

一个名字是已经在网页上注册的一个名字,因此,一个名字是一个字段。

当登录者登录时,他必须安排这些变量(P1,P2,P3等),然后点击"保存"按钮,这些值保存在mysql表中。直到这里工作正常。

问题是我需要在刷新页面时从描述者处安排的订单。我一直在考虑使用" SELECT FROM ORDER BY"但这适用于您想要订购某些字段的时间。在这里,我只有一个字段,我想从中安排这些值。

我不知道我是否解释得很好。我希望如此。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

使用联合规范化数据(取消数据)

SELECT Label, P
FROM (Select Name, P1 as P, 'P1' as Label from table union all 
      Select Name, P2 as P, 'P2' as Label from table union all 
      Select Name, P3 as P, 'P3' as Label from table union all 
      Select Name, P4 as P, 'P4' as Label from table union all 
      Select Name, P5 as P, 'P5' as Label from table union all 
      Select name, p6 as P, 'P6' as Label from table ) Z 
WHERE Z.Name = 'Paul' 
ORDER BY P

会给你

P4 1
P1 2
P6 3
P5 4
P3 5
P2 7

然后如果需要你可以根据值再次转动它。但是,当你可以在结果集中按名称抓取特定字段时,返回的COLUMNS的顺序是无关紧要的。所以这真的没有'很有道理。

但是所有这一切似乎都没有,因为你认为它更适合用户界面而不是数据库。