Mysql 在Sql中使用OrderBy对数据集进行分组

Mysql 在Sql中使用OrderBy对数据集进行分组,mysql,laravel,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 我想得到这样的数据-,一组A和上升量,B和C 怎么做 我尝试了这段代码,但它只返回3个值(我使用的是laravel) 您可以在任何查询中多次使用orderBy() DB::table('person')

我想得到这样的数据

id   name   amount
1    A      12
2    B      10
3    A      24
4    C      39
5    B      25
6    B      23
7    C      15
我想得到这样的数据-,一组A和上升量,B和C 怎么做 我尝试了这段代码,但它只返回3个值(我使用的是laravel)

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

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

不要使用分组依据。仅使用orderby。先用名字,然后用金额。它会起作用的。

试试这个

DB::table('person')
->orderBy('amount','ASC')
->orderBy('name', 'ASC')
->get();
你可以试试下面的方法

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

我认为这很好。

不起作用。只返回A、B、C的一个值。只有3条记录删除
groupBy
@sasy
DB::table('person')->orderBy(array('amount'=>'asc', 'name'=>'asc'))->get();
$persons = DB::table('person')             
->orderBy('amount','asc')
->get();

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

return $result;