我有这个查询,它根据与INNER JOIN
链接的一些派生表进行一些计算。MYSQL GROUP BY多个派生表?
目前我有一个WHERE
条款,一次只能提取一个id。但是我怎样才能让它列出全部的ID?
我试过GROUP BY
在各个地方,但无法弄清楚。
我的查询到目前为止如下:
SELECT
equipment_id,
service_duration,
available_duration,
(available_duration/service_duration)*100 AS availability
FROM (
SELECT
SUM(service_end_time - service_start_time) AS service_duration
FROM(
SELECT equipment_id,
(CASE
END) AS service_start_time,
(CASE
END) AS service_end_time
FROM t1
WHERE equipment_id = 'EX123'
)AS A
) AS B
JOIN(
SELECT equipment_id,
SUM(available_end_time - available_start_time) AS available_duration
FROM (
SELECT equipment_id,
(CASE
END) AS available_start_time,
(CASE
END) AS available_end_time
FROM t2
WHERE equipment_id = 'EX123'
) AS C
) AS D
ON equipment_id=D.equipment_id
我想要做的就是用GROUP BY
更换WHERE
条款列出所有的ID,或类似,但得到的是工作超出了我的技能水平...任何帮助非常感谢:)
如果您可以提供数据库模式,样本数据和预期结果,那么提供解决方案会更容易,您可以使用SqlFiddle.com。 – Minesh 2013-03-01 12:45:24