使用MYSQL创建摘要
我需要从我的一个数据库表中选择以下数据:使用MYSQL创建摘要,mysql,Mysql,我需要从我的一个数据库表中选择以下数据: EmployeeCode, TransactionDate, WeekEndingDate, COUNT(Hrs) 我需要按EmployeeCode和TransactionDate对结果进行分组 我预期的结果示例如下: EMPCODE | TRNDATE | WED | HRS 0000 |2016-03-24 |2016-03-24 |8 0000 |2016-03-23 |2016-03-24 |10 00
EmployeeCode, TransactionDate, WeekEndingDate, COUNT(Hrs)
我需要按EmployeeCode
和TransactionDate
对结果进行分组
我预期的结果示例如下:
EMPCODE | TRNDATE | WED | HRS
0000 |2016-03-24 |2016-03-24 |8
0000 |2016-03-23 |2016-03-24 |10
0001 |2016-03-24 |2016-03-24 |7.5
0001 |2016-03-23 |2016-03-24 |6
0002 |2016-03-24 |2016-03-24 |8
0002 |2016-03-23 |2016-03-24 |9
SELECT empcode,
trndate,
weekendingdate,
Sum(hrs)
FROM timeentries
GROUP BY trndate
ORDER BY empcode ASC
我将如何实现这一目标
到目前为止,我有以下几点:
EMPCODE | TRNDATE | WED | HRS
0000 |2016-03-24 |2016-03-24 |8
0000 |2016-03-23 |2016-03-24 |10
0001 |2016-03-24 |2016-03-24 |7.5
0001 |2016-03-23 |2016-03-24 |6
0002 |2016-03-24 |2016-03-24 |8
0002 |2016-03-23 |2016-03-24 |9
SELECT empcode,
trndate,
weekendingdate,
Sum(hrs)
FROM timeentries
GROUP BY trndate
ORDER BY empcode ASC
但这只是按日期分组,我需要看到每个员工和每个日期的行
表格结构如下:
`ID` int(11) NOT NULL AUTO_INCREMENT,
`EmpCode` varchar(12) DEFAULT NULL,
`Project` varchar(12) DEFAULT NULL,
`Hrs` decimal(18,2) DEFAULT NULL,
`WeekEndingDate` date DEFAULT NULL,
`TrnDate` date DEFAULT NULL,
PRIMARY KEY (`ID`)
这是为我工作的代码:
SELECT
ID,
CONCAT(EmpCode, '-', EmpName) as Emp,
TrnDate,
Sum(Hrs)
FROM TimeEntries
WHERE WeekEndingDate = '$ActiveWeek'
GROUP BY
TrnDate,
EmpCode
ORDER BY empcode ASC
$ActiveWeek是一个php变量,包含当前打开的工作周。您的表名是什么?您希望在该表中看到什么样的数据?表名是TimeEntries。请您用示例数据告诉我们表结构、键…等,这样您就可以很容易地构建查询。该查询是否有效?因为我认为你们需要把所有的栏目都放在分组中,而不仅仅是trnsdate…增加了这个问题