mysql
2012-04-03 36 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

相关问题