Bookshelf.js groupBy在多个列上

时间:2016-03-23 10:17:28

标签: mysql bookshelf.js knex.js

我正在构建一个使用Bookshelf访问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

1 个答案:

答案 0 :(得分:0)

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

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