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;