带有WHERE子句的PostgreSQL generate_series

时间:2018-06-02 11:53:44

标签: sql database postgresql generate-series

我遇到一个问题,即生成一系列日期,然后返回与该系列中每个日期匹配的COUNT行。

SELECT generate_series(current_date - interval '30 days', current_date, '1 day':: interval) AS i, COUNT(*)
FROM download
WHERE product_uuid = 'someUUID'
AND created_at = i
GROUP BY created_at::date
ORDER BY created_at::date ASC

我希望输出为与系列中当前日期匹配的行数。

05-05-2018, 35
05-06-2018, 23
05-07-2018, 0
05-08-2018, 10
...

架构包含以下列:idproduct_uuidcreated_at。任何帮助将不胜感激。如果需要,我可以添加更多细节。

1 个答案:

答案 0 :(得分:1)

将表生成函数放在$final_trade = DB::table('finaltrade') ->join('exchanges', function($join) { $join->on('exchanges.id', '=', 'finaltrade.exchange_id') ->where('finaltrade.user_id', '=', Auth::user()->id) ->whereTime('finaltrade.created_at', '=', 'exchanges.start_time'); }) ->get(); 中并使用from

join