Bookshelf.js groupBy在多列上

问题描述 投票:1回答:1

我正在构建一个使用书架访问MySQL数据库的程序。我要尝试做的一件事是按两列对数据进行分组。但是我不知道该怎么做。

我尝试使用knex groupByRaw和lodash _.groupBy,但我认为我没有在正确的位置使用它们。

这里是情况:

表格

我将计时器存储在具有以下列的表中:id,userID,projectID,startTime,stopTime。

我想选择给定日历周中每个用户的累计时间。

我猜是结果查询将是这样的:

SELECT SUM(TIMESTAMPDIFF(SECOND, startTime, endTime)), userID, YEARWEEK(startTime, 1), projectID FROM time GROUP BY userID, YEARWEEK(startTime, 1) HAVING projectID = 1

mysql bookshelf.js knex.js
1个回答
0
投票

有点晚,但是为了记录:您可以连续多次调用Knex的groupBy。因此:

  .groupBy("userID")
  .groupByRaw("YEARWEEK(startTime, 1)")
© www.soinside.com 2019 - 2024. All rights reserved.