第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問獲取訂單金額前10的用戶的SQL怎么寫?

請問獲取訂單金額前10的用戶的SQL怎么寫?

PHP
森林海 2019-03-18 15:32:35
有如下兩張示例表 訂單金額等于 orderinfo 表里 price*count,每個訂單有多個商品。 請問如何通過SQL語句獲取訂單總金額排前10的用戶? 補充一下:每個用戶也可能有多個訂單哦
查看完整描述

6 回答

?
繁花如伊

TA貢獻2012條經(jīng)驗 獲得超12個贊

select userid from order a left join (select * from (select orderid,sum(price*count) as money from orderinfo group by orderid) order by money desc limit 10) b on a.id = b.orderid

查看完整回答
反對 回復(fù) 2019-03-18
?
隔江千里

TA貢獻1906條經(jīng)驗 獲得超10個贊

select * from usertable where id in
(select o.id from orderinfo as o order by o.price*o.count limit 10)

查看完整回答
反對 回復(fù) 2019-03-18
?
慕容708150

TA貢獻1831條經(jīng)驗 獲得超4個贊

select a.user_id from order as a INNER JOIN order_info as b ON a.id=b.orderid ORDER BY(b.price*b.count) desc limit 10

查看完整回答
反對 回復(fù) 2019-03-18
?
holdtom

TA貢獻1805條經(jīng)驗 獲得超10個贊

結(jié)合 @如來神掌 的回答,針對一個用戶有可能有多個訂單的情況,我修改代碼如下,感覺是可以了....

SELECT sum(b.total),userid FROM `order` AS a,
(SELECT SUM(price*count) AS total,orderid 
FROM `orderinfo`
GROUP BY `orderid`) AS b
WHERE a.`id` = b.`orderid`
GROUP BY a.`userid`
ORDER BY sum(b.`total`) DESC
limit 10;
查看完整回答
反對 回復(fù) 2019-03-18
?
人到中年有點甜

TA貢獻1895條經(jīng)驗 獲得超7個贊

在訂單表 多加個字段 存儲下訂單總額 適當(dāng)冗余 方便查詢

查看完整回答
反對 回復(fù) 2019-03-18
  • 6 回答
  • 0 關(guān)注
  • 1554 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號