mysql 多列上的Bookshelf.js groupBy

2g32fytz  于 2023-02-18  发布在  Mysql
关注(0)|答案(2)|浏览(98)

我正在编写一个使用Bookshelf访问MySQL数据库的程序。我正在尝试做的事情之一是将数据按两列分组。但我不知道如何做到这一点。
我尝试使用knex groupByRaw和lodash _.groupBy,但我认为我没有在正确的地方使用它们。
情况是这样的:

表格

我将计时器存储在一个包含以下列的表中:用户ID、项目ID、开始时间、停止时间。
我想选择每个用户在给定日历周内的累计时间。
我的猜测是,结果查询将类似于以下内容:
SELECT SUM(TIMESTAMPDIFF(SECOND, startTime, endTime)), userID, YEARWEEK(startTime, 1), projectID FROM time GROUP BY userID, YEARWEEK(startTime, 1) HAVING projectID = 1

uemypmqf

uemypmqf1#

有点晚了,但要记录在案:你可以连续多次调用Knex的groupBy

.groupBy("userID")
  .groupByRaw("YEARWEEK(startTime, 1)")
xxls0lw8

xxls0lw82#

不要多次重复groupby word,请使用以下语法。

.groupBy(['userID','YEARWEEK(startTime, 1)'])

相关问题