-3

我想对列值进行分组,然后按升序对另一列中的值进行排序。我不介意是否必须创建新表。有人可以帮我解决这个问题吗?数据库是 MySQL。

非常感谢!

请在此处查看我的示例数据。

西德 | 区域-编号 | 分区号|

1--------5------------1------|

2--------4------------1------|

3--------3------------2------|

9-------5------------2------|

5-------6------------1------|

7-------9------------3------|

4--------1------------9------|

6--------1------------7------|

8--------2------------1------|

10--------2------------5------|

11--------2------------6------|

12--------2------------2------|

每个 SID 都有一个区域编号。有1-20多个区域。每个区域有 1-20 多个子区域。我想按区域号对 SID 进行分组,以便重新排列表(或者可能创建新表),其中前几行仅显示区域 1 和区域 1 下的所有子区域。然后行显示区域 2 和所有子区域区域 2 下的区域,依此类推。我不介意 SID 订单是否更改。

输出将是:

西德 | 区域-编号 | 分区号|

6--------1------------7------|

4--------1------------9------|

8--------2------------1------|

12--------2------------2------|

10--------2------------5------|

11--------2------------6------|

3--------3------------2------|

2--------4------------1------|

1--------5------------1------|

9-------5------------2------|

5-------6------------1------|

7-------9------------3------|

选择将记录返回给我。但我想安排表本身,而不是从中选择记录。我不介意是否必须创建新表。

再次感谢!!

4

2 回答 2

0

它的简单查询。

SELECT column_name 
FROM table_name  
GROUP BY column_name 
ORDER BY column_name 
于 2013-01-08T19:24:46.423 回答
0

我能够解决这个问题。我只需要从我想要的列开始排序,这里是区域和子区域。

insert into temp select * from stuTable order by Area, subArea;

感谢您的所有回答!

于 2013-01-11T14:22:28.353 回答