2011-08-22 146 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

相关问题