组数据在Sql中使用OrderBy进行设置

时间:2016-02-03 06:40:16

标签: mysql laravel

id   name   amount
1    A      12
2    B      10
3    A      24
4    C      39
5    B      25
6    B      23
7    C      15

我想获得这样的数据

id   name   amount
1    A      12
2    A      24
3    B      10
4    B      23
5    B      25
6    C      15
7    C      39

我希望得到这样的数据 - A的升序量和B的升序量和C 怎么做 我试过这段代码,但它只返回3个值(我使用laravel)

DB::table('person')             
->groupBy('name')
->orderBy('amount','ASC')
->get();

4 个答案:

答案 0 :(得分:1)

您可以在任何查询中多次使用orderBy()

DB::table('person')
->orderBy('amount','ASC')
->orderBy('name', 'ASC')
->get();

答案 1 :(得分:0)

不要使用group by。仅使用orderby。首先是名字而不是金额。它会起作用。

答案 2 :(得分:0)

试试这个,

DB::table('person')->orderBy(array('amount'=>'asc', 'name'=>'asc'))->get();

答案 3 :(得分:0)

您可以尝试以下

$persons = DB::table('person')             
->orderBy('amount','asc')
->get();

$result = $persons->groupBy('name');

return $result;

我认为这很好。