我正在构建一个使用书架访问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
有点晚,但是为了记录:您可以连续多次调用Knex的groupBy
。因此:
.groupBy("userID")
.groupByRaw("YEARWEEK(startTime, 1)")