[英]Combine two MYSQL Queries column result into one to use in ORDER BY
我有兩個查詢來獲取用戶硬幣和寶石的價值。 我可以分別獲取每個字段值,但我希望它們一起作為加法值。.(硬幣+寶石)值在ORDER BY中使用
使用此SQL查詢,我可以獲取錢幣字段值...
SELECT user_id, meta_value as total_coins FROM wp_usermeta WHERE meta_key = '_coin' AND meta_value > 0 ORDER BY meta_value+0 DESC LIMIT 0,10
並使用它來獲取gems字段值...
SELECT user_id, meta_value as total_gems FROM wp_usermeta WHERE meta_key = '_gems' AND meta_value > 0 ORDER BY meta_value+0 DESC LIMIT 0,10
我想要的是獲取_coin
字段值,然后為該user_id獲取_gem
字段值,然后將這兩個值合而為一...就像690 + 21 = 711作為total_points ..像這樣。
`SELECT (
SELECT meta_value FROM `wp_usermeta` as ue1
WHERE meta_key = '_coin' AND meta_value > 0 ORDER BY meta_value+0 DESC LIMIT 0,50
) AS coins,
(
SELECT meta_value FROM `wp_usermeta` as ue2
WHERE ue2.user_id = ue1.user_id AND meta_key = '_gem' AND meta_value > 0 ORDER BY meta_value+0 DESC LIMIT 0,50
) AS gems,
coins+gems AS total_points
FROM wp_usermeta
ORDER BY total_points LIMIT 0, 50`
我知道此SQL不正確,這就是為什么我需要幫助..請幫助我以更正此SQL
而不是幾個子查詢,您應該使用聯接相同的表並重復代碼以進行添加
SELECT ue1.meta_value coins , ue2.meta_value gems
, ue1.meta_value + ue2.meta_value total_points
FROM `wp_usermeta` as ue1
INNER JOIN `wp_usermeta` as ue2 ON ue1.user ue2.user_id = ue1.user_id
AND ue1.meta_key = '_coin'
AND ue2. meta_key = '_gem'
WHERE ue1.meta_value > 0
AND ue2.meta_value > 0
ORDER BY total_points LIMIT 0, 50
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.