mysql - SQL 多重 GROUP BY

标签 mysql sql

我无法找出从表“timeEntry”中提取我想要的数据的 mysql 查询:

hours     creationDate    userId    clientId    projectId    taskId
20        2012-02-18      1         1           1            1
40        2012-02-18      1         1           1            1
30        2012-02-21      2         1           1            1
20        2012-02-22      2         1           1            2
30        2012-02-22      2         1           1            2
80        2012-02-23      1         2           2            2
10        2012-02-23      3         2           2            2
15        2012-02-23      1         2           2            3
40        2012-02-23      1         2           4            1

我想在给定的时间段内将这种结果作为另一个表,或 csv/excel 文件或 php 数组(其中 totalHours 是 userId 的小时数总和),比方说(2012 年之间) -02-01 和 2012-02-25):

clientId    projectId    taskId    userId    totalHours
1           1            1         1         60
                                   2         30
                         2         2         50 
2           2            2         1         80 
                                   3         10
                         3         1         15
            4            1         1         40

我想我必须使用多个分组依据,我试过类似的方法:

SELECT clientId, projectId, taskId, userId, sum(hours)
FROM `timeEntry`
WHERE date_creation >= "2012-02-01"
AND date_creation <= "2012-02-25"
GROUP BY  clientId, projectId, taskId, userId;

但是没用...

提前致谢。

最佳答案

Group by 之前需要去哪里

如果您想在分组前按日期过滤,请使用您已有但移到分组依据之前的 where 子句。

如果您希望将整个组过滤进或过滤出,请使用 having:

...
Group by ...
Having max(date) <= someValue and min(date) >= someValue

关于mysql - SQL 多重 GROUP BY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14944565/

相关文章:

php - 如何在 PHP 中获取用户输入日期以在 PostgreSQL 语句的 where 子句中使用?

sql - (子)组内的 Oracle Rank()

sql - "filtering"急切加载数据时出现问题

php - 如何在字符串 wordsolver 应用程序中的简单 mysql/php 单词中的字符串中找到单词匹配项?

mysql - SQL显示两个表的差异并将结果与​​具有不同数据库的另一个表进行比较

python - 使用 django 光标保存转义字符时出错

php - MySQL/PHP - 表无法从我的表单获取信息

sql - 如何选择每个项目具有最大时间戳的行集?

mysql - 在 mysql 中使用 ifnull 和索引创建

c# - 如何根据组合框中的选定值从数据库中检索数据?