我想統計接口的數量,並寫出這個代碼,它們從兩個表節點和接口中統計出來。此代碼有效,但我想知道其他方式或優化此代碼?數數的最佳方法是什麼?如何優化我的查詢?
SELECT
q1.NodeName,
q1.Nup as up,
q2.ndown as down
FROM (
SELECT
Nodes.NodeID AS NodeID,
Interfaces.NodeID AS InterfaceID,
Nodes.Caption AS NodeName,
Interfaces.Status as Status,
Count(Nodes.Caption) as Nup
FROM
Nodes INNER JOIN Interfaces ON (Nodes.NodeID = Interfaces.NodeID)
WHERE
(
(
(Interfaces.Status = '2'))
)
GROUP BY Nodes.NodeID, Nodes.Caption, Interfaces.Status, Interfaces.NodeID
) AS q1
INNER JOIN (
SELECT
Interfaces.NodeID AS InterfaceID,
Nodes.Caption AS NodeName,
Interfaces.Status as Status,
Count(Nodes.Caption) as ndown
FROM
Nodes INNER JOIN Interfaces ON (Nodes.NodeID = Interfaces.NodeID)
WHERE
(
(
(Interfaces.Status = '1'))
)
GROUP BY Nodes.NodeID, Nodes.Caption, Interfaces.Status, Interfaces.NodeID
) AS q2
ON (q1.NodeID = q2.InterfaceID)
order by down Desc
你有什麼指數?你的桌子結構是什麼? – JNK 2011-03-04 20:10:31
哪個SQL ... SQL-Server,Oracle,MySQL ??? – DRapp 2011-03-04 20:11:56
sql server 2005 – user453949 2011-03-05 05:10:13