2010-09-02 183 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