2013-02-20 55 views
0

我需要運行在分區表的查詢,我想用分區的結果,像這樣:在MySQL 5.1上,我如何查詢特定分區?

partition  result  count 
----------- ---------- ------ 
    p1  apples  2 
    p1  oranges  3 
    p2  apples  10 
    p2  oranges  15 

從MySQL官方文檔在線,如果我們有5.6或更高版本,我們會能夠使用PARTITION子句來指定從哪裏獲取數據,但我們目前處於5.1.63。無論表格的分區方案如何,有沒有簡單的方法來做到這一點?

回答

2

我不相信你可以在MySQL 5.1中。

雖然你可以解決它 - 無論分區定義是什麼,你都可以將相同的條件添加到你的計數中。

例如,如果它是在ID列和P1的範圍分區ID < 10000,P2 ID 然後

SELECT result, partition, count(ID) 
FROM 
(
    SELECT result, ID, 
     case when ID < 10000 then p1 
      when ID < 20000 then p2 
     ..... 
     end as partition 

    FROM 
     table 
) s1 
GROUP BY partition, result