2012-10-18 1 views
0

않습니다 : 테이블은 다음과 같다MySQL의 두 열 사이에서 계산을 합할 수 있습니까? 내가하고 싶은 무엇

SELECT SUM(ABS(`number_x` - `number_y`)) AS `total_difference` FROM `table` 

:

ID | number_x | number_y

1 | 4 | 2

2 | 3 | 2

3 | 2 |

4 그래서 대답은해야한다 : (4-2 = 2) + (3 - = 1 2) + (2 - = 2 4) = 5

내가 MySQL의에서이 작업을 수행 할 수 있으며, 방법?

감사합니다.

+0

Errr .. 그 것처럼 ? 쿼리가 작동하지 않습니까? – ethrbunny

+0

검색어가 잘못 되었습니까? – Devart

답변

3

위에 당신은 문제없이 작동합니다 게시 된 쿼리 선호하는 것 :

SELECT SUM(ABS(`number_x` - `number_y`)) AS `total_difference` 
FROM `table` 

또는 당신이 원하는 경우를 다음과 같이 하위 쿼리를 작성하십시오.

SELECT SUM(diff) AS `total_difference` 
FROM 
( 
    SELECT Id, ABS(number_x - number_y) diff 
    FROM TableName 
) t 
1
SELECT SUM(ABS(`number_x` - `number_y`)) AS `total_difference` FROM `table` 

또는 당신은 다른 방법을 쓸 수 있습니다,하지만 난 단지

SELECT ABS(SUM(number_x) - SUM(number_y)) AS total_difference FROM table 
관련 문제