我有這個查詢,它根據與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