2010-09-02 8 views
1

chère tout .. j'ai quelques données à DB.effectuer le calcul dans mysql

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

je veux le résultat comme:

name   Qty 
    bla   200 

je les compter utilisent:

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

mais le résultat:

name  Qty 
bla  100 

Répondre

1

Utilisation:

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

... me donne:

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

que Répondons great..simple mais utile. – klox