0

我有这个餐桌人

-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
4

1 回答 1

1

要订购存储在其中的元组,mnesia您需要:

或者

  • 读取所有记录并将它们排序在mnesia,

例如:

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

这将获取所有记录,将它们排序为元组(考虑到记录中的第一个元素应该足够了id,如果不使用lists:sort/2并指定排序函数),然后反转列表并返回第一个元素(在 Erlang 中,反转并获取第一个元素比返回列表的最后一个元素更快)。

于 2013-02-21T14:18:13.050 回答