我的表结构如下
date seller unit price total
05-06-17 abc 14 700 9800
05-06-17 pqr 12 600 7200
05-06-17 abc 10 520 5200
06-06-17 abc 10 600 6000
06-06-17 pqr 15 520 7800
06-06-17 pqr 16 520 8320
我需要获取记录
1) 'date' = '05-06-2017', 'seller' = 'abc', 'total' = '15000'
2) 'date' = '05-06-2017', 'seller' = 'pqr', 'total' = '7200'
3) 'date' = '06-06-2017', 'seller' = 'abc', 'total' = '6000'
4) 'date' = '06-06-2017', 'seller' = 'pqr', 'total' = '16120'
我需要数据库中的日期方面的数据。seller
abc
在date
05-06-2017
的表中有两个条目,因此我需要seller
abc
当天的total
以及pqr
,对于所有seller
的第二个date
,相同的事情
4条答案
按热度按时间fd3cxomn1#
每当我们有多行相同的数据需要在最终输出中合并在一起时,我们就使用mySQL的group by功能。
因此,在您情况下,您可以使用laravel查询构建器以这种方式完成此操作。
DB::table('orders')->select('date', 'seller', DB::raw('SUM(total) as total'))
将查询数据库中的orders
表,然后获取提供的列,即date, seller and sum of total column as total
->groupBy('seller')->groupBy('date')
它将合并同一卖方在同一日期的多个记录。->get();
我们正在从查询中获取数据。1u4esq0p2#
你可以试试
nlejzf6q3#
您可以像这样对多个列使用distinct(在Laravel 8中检查过)。
n6lpvg4x4#