我的数据库结构如:
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
我想在每个日期找到collect_today的总和(如果2017-07-02天有两个gather_today,即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)')
答案 0 :(得分:1)
试试这个
$data = DB::table("transactions")
->select('updated_at',DB::raw("SUM(collected_today) as sum"))
->groupBy(DB::raw('Date(updated_at)'))
->get()
答案 1 :(得分:1)
刚试过这个,它对我有用:
DB::table('transactions')
->selectRaw('updated_at, SUM(collected_today)')
->groupBy(DB::raw('Date(updated_at)'))
->get();