mysql
2012-04-03 96 views -1 likes 
-1
SELECT * FROM 
    (SELECT sum(DATA.dayMB) as "totaldayMb", 
      data.customerid 
    FROM DATA,customer 
    WHERE data.customerid=customer.customerid 
      AND customer.projectid='"+ ProjectID +"' 
      AND customer.stateid='"+ StateID +"' 
      AND DATA.dataDate between '"+ initialDate +"' 
      AND '"+ finalDate +"' 
      AND data.upstatus='"+upstatus+"' 
    GROUP BY data.customerid 
    ORDER BY sum(DATA.dayMB) desc 
    ) 
    WHERE ROWNUM <= 25 

在此查詢我想選擇25個用戶,誰使用最大數據B/W解散日期。我使用的MySQL。每個派生的表必須有它自己的別名(

+0

標題是什麼? – PresleyDias 2012-04-03 11:51:49

回答

1
SELECT * FROM 
    (SELECT sum(DATA.dayMB) as "totaldayMb", 
      data.customerid 
    FROM DATA,customer 
    WHERE data.customerid=customer.customerid 
      AND customer.projectid='"+ ProjectID +"' 
      AND customer.stateid='"+ StateID +"' 
      AND DATA.dataDate between '"+ initialDate +"' 
      AND '"+ finalDate +"' 
      AND data.upstatus='"+upstatus+"' 
    GROUP BY data.customerid 
    ORDER BY sum(DATA.dayMB) desc 
    ) AS baseview 
    LIMIT 25 

心靈的AS baseview在最後,但一一行。

Ofcourse這是有道理的,只有當內部查詢是在查詢緩存中。如果沒有,只是用

SELECT sum(DATA.dayMB) as "totaldayMb", 
      data.customerid 
FROM DATA,customer 
WHERE data.customerid=customer.customerid 
      AND customer.projectid='"+ ProjectID +"' 
      AND customer.stateid='"+ StateID +"' 
      AND DATA.dataDate between '"+ initialDate +"' 
      AND '"+ finalDate +"' 
      AND data.upstatus='"+upstatus+"' 
GROUP BY data.customerid 
ORDER BY sum(DATA.dayMB) desc 
LIMIT 25 
0

使用LIMIT運算符(docu @ MySQL)限制返回的行數,而不是使用附加的查詢。

這樣你也可以避免你的錯誤。

SELECT sum(DATA.dayMB) as "totaldayMb", 
     data.customerid 
FROM DATA,customer 
WHERE data.customerid=customer.customerid 
     AND customer.projectid='"+ ProjectID +"' 
     AND customer.stateid='"+ StateID +"' 
     AND DATA.dataDate between '"+ initialDate +"' 
     AND '"+ finalDate +"' 
     AND data.upstatus='"+upstatus+"' 
GROUP BY data.customerid 
ORDER BY sum(DATA.dayMB) desc 
LIMIT 0,25 
+0

您的意思是「限制0,25」還是「限制25」? – 2012-04-03 11:58:25

+0

@EugenRieck我的壞。謝謝。 – Sirko 2012-04-03 11:59:00

相關問題