Mysql 从datetime列查找集合总数

Mysql 从datetime列查找集合总数,mysql,laravel,laravel-5,Mysql,Laravel,Laravel 5,我的数据库结构如下: collected today created_at updated_at 200 2017-07-02 06:20:07 2017-07-02 06:34:19 200 2017-07-02 06:34:19 2017-07-02 06:34:19 400 2017-07-03 06:34:19 2017-07-03 06:34:19 100

我的数据库结构如下:

collected today  created_at              updated_at
200              2017-07-02 06:20:07     2017-07-02 06:34:19
200              2017-07-02 06:34:19     2017-07-02 06:34:19
400              2017-07-03 06:34:19     2017-07-03 06:34:19
100              2017-07-05 06:34:19     2017-07-05 06:34:19
50               2017-07-02 06:34:19     2017-07-02 06:34:19
我想找到每个日期今天收集的金额(如果2017-07-02日有两个今天收集的金额,即40+50=90应显示日期), 查询应返回

updated_at total_collection 
2017-07-02 600
我使用以下查询来访问数据。但它返回0,尽管我在每个日期的数据库中都有值。以下查询可能出现什么错误

 $monthly_report = DB::table('transactions')
                ->groupBy(DB::raw('Date(transactions.updated_at)'))
                ->sum('transactions.collected_today');
                ->select('transactions.updated_at',DB::raw('sum(collected_today)')
试试这个

$data = DB::table("transactions")
    ->select('updated_at',DB::raw("SUM(collected_today) as sum"))
    ->groupBy(DB::raw('Date(updated_at)'))
    ->get()

刚刚测试了这个,它对我有效:

DB::table('transactions')
    ->selectRaw('updated_at, SUM(collected_today)')
    ->groupBy(DB::raw('Date(updated_at)'))
    ->get();

不幸的是,你不清楚。请用更多的单词、短语和句子来表达你的意思。不要试图把每件事都塞进几句话里。给出一个完整的例子。请阅读并采取行动。再次检查问题。这更好,但仍然不是很清楚。使用足够的词语。再说一遍:请阅读并付诸行动。