MySQL根据另一列的顺序排序

时间:2018-03-16 08:02:27

标签: mysql

我有3张桌子

表1(门票):

id  | name
---------------
1   | Ticket 1
2   | Ticket 2
3   | Ticket 3

表2(ticket_field):

id | name
------------
1  | Field 1
2  | Field 2
3  | Field 3

表3(ticket_field_map):

id | ticket_id | field_id | value
------------------------------------
1  |     1     |     1    | Value 1
2  |     1     |     2    | Value 2
3  |     1     |     3    | Value 3
4  |     2     |     1    | Value 4
5  |     2     |     2    | Value 5
6  |     2     |     3    | Value 6
7  |     3     |     1    | Value 7
8  |     3     |     2    | Value 8
9  |     3     |     3    | Value 9

要进行排序的最终表:

ticket_id | ticket_name | Field 1 | Field 2 | Field 3
-----------------------------------------------------
     1    |   Ticket 1  | Value 1 | Value 2 | Value 3
     2    |   Ticket 2  | Value 4 | Value 5 | Value 6
     3    |   Ticket 3  | Value 7 | Value 8 | Value 9

在此表中,我必须为用户提供对每个字段值进行排序的选项。

2 个答案:

答案 0 :(得分:2)

我认为简单的两步排序应该有效:

SELECT *
FROM yourTable
ORDER BY
    `key`, value;

顺便说一句,KEY是一个保留的MySQL关键字,你应该避免使用它来命名你的列和表。

答案 1 :(得分:0)

按键使用顺序asc或desc您想要的任何顺序