2010-09-02 69 views
1

親愛的all..i在DB上有一些數據。在mysql中執行計算

name  Range 
bla  123x9901-123x0000  //it means range 9901 until 10000 = 100 
bla  123v0001-123v0100  // 10001-10100 = 100 

我想要的結果,如:

name   Qty 
    bla   200 

我對其計數使用:

SELECT................ 
     IF(RIGHT(Range,4) = "0000",10000,RIGHT(Range,4)) - MID(Range,5,4) + 1 AS Qty 
FROM mytable GROUP BY name; 

但結果:

name  Qty 
bla  100 

回答

1

用途:

SELECT name, 
     SUM(IF(RIGHT(Range,4) = "0000",10000, RIGHT(Range,4)) - MID(Range,5,4) + 1) AS Qty 
    FROM mytable 
GROUP BY name; 

...給我:

name Qty 
------------- 
bla  200 
+0

這great..simple答案,但有用的。 – klox 2010-09-02 04:49:02