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