2011-08-22 144 views
0

我有以下語句需要添加1個子查詢來計算tweeps表中的跟隨者數與當前列中的數字之間的差異ranking表和列插入差別稱爲latestranking表肯定PK是屏幕名,Mysql - 計算兩個不同表中的兩列之間的差異並插入

就像在tweeps表跟隨coulm數爲10當前coulmn N個分級表相同的屏幕名是5的值將被添加到最新是+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

相關問題