簡體   English   中英

MySQL-計算2個不同表中兩列之間的差異並插入

[英]Mysql - calculate difference between two columns in 2 different tables and insert

我有以下語句,該語句需要再添加1個子查詢以計算tweeps表中的關注者數量與ranking表中當前列的數量之間的差,並在ranking表中latest列中插入差異,以確保PK為屏幕名稱 ,

像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);

嘗試這個:

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...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM