【发布时间】:2015-05-15 13:18:26
【问题描述】:
我有一个这样的时间表:
CREATE TABLE time
(`id` int, `hours` float(1), `project` varchar(55), `user` varchar(45));
INSERT INTO time
(`id`, `hours`, `project`, `user`)
VALUES
(1, '3.5', 'Project A', 'Bob'),
(2, '1', 'Project A', 'Anne'),
(3, '2', 'Project B', 'Anne'),
(4, '6', 'Project B', 'Anne'),
(5, '2', 'Project C', 'Joe'),
(6, '9', 'Project C', 'Joe'),
(7, '1', 'Project C', 'Sam'),
(8, '22', 'Project A', 'Bob');
我想返回一个这样的表:
th {background-color:#999999}
td {width:200px}
<table>
<thead>
<tr>
<th>Project</th>
<th>User 1 (most hours)</th>
<th>User 2 (2nd most hours)</th>
<th>etc....</th>
</tr>
</thead>
<tr>
<td>Project A</td>
<td>Bob</td>
<td>Anne</td>
</tr>
<tr>
<td>Project B</td>
<td>Anne</td>
<td>null</td>
</tr>
<tr>
<td>Project C</td>
<td>Joe</td>
<td>Sam</td>
</tr>
</table>
如图所示,我需要按降序列出谁在每个项目上花费的时间最多。我相信我需要从子查询中执行 SELECT,但我似乎无法让它正常工作。
【问题讨论】: