2013-02-21 46 views
0

我这个表的人订单记录的ID在二郎山

-record(person, {id, firstname, lastname, phone}). 

,它包含此值:

12 alen  dumas  97888888 
15 franco mocci  55522225 
13 ali  othmani 44444449 

我想通过ID订购此表 ,它应该变成这样:

12 alen  dumas  97888888 
    13 ali  othmani 44444449 
    15 franco mocci  55522225 
+0

将它们排列在**什么**?你如何存储这些记录? – rvirding 2013-02-21 10:32:03

+0

按身份证号码订购记录(12 13 15) – 2013-02-21 11:38:46

回答

1

要订购元组Š存储在mnesia你需要:

  • 读取所有在mnesia之外记录和整理它们,

如:

Select = [{#person{_ = '_'}, [], ['$_']}], 
Sorted = lists:sort(mnesia:dirty_select(person, Select)), 
erlang:hd(lists:reverse(Sorted)). 

这将让所有的记录,将它们进行排序元组(这应该是足够的考虑id在记录中的第一个元素,如果不使用lists:sort/2并指定排序功能),然后颠倒列表并返回第一个元素(在Erlang中,它更快地反转并获取第一个元素,而不是返回列表的最后一个元素)。