国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

node.js - mysql如何通過knex查詢今天和七天內的匯總數據

瀏覽:146日期:2022-06-20 17:05:10

問題描述

具體實現是要在product表中查詢出今天、七天和三十天內的產品數量,具體的sql語句已經寫好了

select sum(inputer as productNum) from `product` where to_days(`createdAt`)= to_days(now());

但是在knex.js里面我這樣寫根本不對

return knex(’product’) .where({ inputer: user, deletedAt: null }) .andWhere(’to_days(add_time)’, ’=’, ’to_days(now())’) .sum(’inputer as productNum’) .then(function (productRow) { return { product: productRow }; })

用having也不對,knex文檔里沒有看到聚合函數的使用方法,求指教

return knex(’product’) .where({ inputer: user, deletedAt: null }) .groupBy(id) .having(’to_days(add_time)’, ’=’, ’to_days(now())’) .sum(’inputer as productNum’) .then(function (productRow) { return { product: productRow }; })

問題解答

回答1:

沒用過knex.js,但SQL好像復雜化了(原SQL會對createdAt字段進行運算,有可能會讓該字段的索引失效)。

SELECT sum(inputer) AS product_num FROM `product`WHERE createdAt >= ?

通過程序計算出今天、七天前和三十天前的起始時間(即yyyy-MM-dd 00:00:00),然后代入SQL即可。

相關文章:
主站蜘蛛池模板: 桐庐县| 沾益县| 平谷区| 虹口区| 淳安县| 津市市| 靖州| 鄂州市| 山阴县| 满城县| 新巴尔虎左旗| 田东县| 浪卡子县| 化隆| 颍上县| 依安县| 白城市| 凤城市| 平江县| 黄大仙区| 封开县| 陇西县| 清流县| 勃利县| 寻乌县| 麻江县| 舞阳县| 松江区| 罗山县| 瑞安市| 义乌市| 内江市| 崇文区| 长岭县| 巩留县| 罗江县| 江门市| 临洮县| 寿阳县| 醴陵市| 宕昌县|