2011-08-22 2 views
0

tweeps 테이블의 추종자 수와 현재 열의 숫자 사이의 차이를 계산하기 위해 1 개의 하위 쿼리를 추가해야하는 다음 문이 있습니다. ranking 테이블 및 열 차이를 삽입 확실 PK가 ScreenName이는의 tweeps 테이블 팔로워 coulm의 번호와 같은 Mysql - 두 개의 서로 다른 테이블에서 두 열의 차이를 계산하고 삽입

10 현재 coulmn N 동일한 ScreenName이위한 테이블 랭킹하는 5의 값이 최근에 추가 될 것이다 ranking 테이블 latest라고 +5

mysql_query (" 
    INSERT INTO ranking 
    SELECT @rank := @rank + 1, tweeps.* FROM tweeps 
    JOIN(SELECT @rank := 0) AS init 
    ORDER BY followers DESC 
    ON DUPLICATE KEY UPDATE 
    ranking.ranking = @rank, 
    ranking.name = tweeps.name, 
    ranking.followers = tweeps.followers, 
    ranking.tweets = tweeps.tweets, 
    ranking.location = tweeps.location, 
    ranking.`join date` = tweeps.join_date, 
    ranking.avatar = tweeps.avatar;"); 
mysql_close($con); 

답변

1
INSERT INTO ranking 
SELECT @rank := @rank + 1, tweeps.* FROM tweeps 
JOIN(SELECT @rank := 0) AS init 
ORDER BY followers DESC 
ON DUPLICATE KEY 
UPDATE ranking set 
ranking = @rank, 
name = tweeps.name, 
followers = tweeps.followers - followers, 
tweets = tweeps.tweets, 
location = tweeps.location, 
`join date` = tweeps.join_date, 
avatar = tweeps.avatar; 

내가 ON DUPLICATE KEY UPDATE ranking set...에 구문을 변경 코드를 조정하기위한

+0

감사하지만, 여전히 응 – LeoSam

+0

계산과 추종자의 수의 차이를 아무 상관이 없다 :이 시도? 당신은 다른 변화, 즉 '추종자 = tweeps.followers 추종자'를 알아 차 렸니? – Bohemian

+0

내 나쁜 :) 감사 친구! – LeoSam

관련 문제