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

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

面試遇到的SQL語句編寫問題,求解答求老司機(jī)指點(diǎn)!

面試遇到的SQL語句編寫問題,求解答求老司機(jī)指點(diǎn)!

蕪湖不蕪 2019-10-31 10:10:06
題目描述面試遇到這樣一個(gè)問題:有一個(gè)用戶下載文件的表'file_download',如下:iduidfidstatus1110211132114220522161317330...uid代表用戶ID,fid代表文件ID,`status代表文件下載狀態(tài),0是失敗,1是成功。用戶若下載文件失敗,可以繼續(xù)下載,一旦下載成功,就不會再下載該文件。讓查出用戶第一次下載文件就成功的記錄。自己的思路我給的答案是這樣的:SELECT*FROMfile_downloadGROUPBYuid,fidHAVING`status`=1;但是面試官似乎不太滿意,問我是否還有其他的方法?
查看完整描述

2 回答

?
一只萌萌小番薯

TA貢獻(xiàn)1795條經(jīng)驗(yàn) 獲得超7個(gè)贊

隨便寫的…應(yīng)該不是最優(yōu)解,但是結(jié)果應(yīng)該是對的
selectsum(id)id,uid,fid,count(*)c,sum(status)s
fromfile_download
groupbyuid,fid
havingc=1
ands=1;
解釋一下,因?yàn)橐榈谝淮蜗螺d文件就成功的記錄,所以
下載要成功,需要有status=1的記錄
下載成功之后就不會再下載,所以sum(status)groupbyuid,fid得到的結(jié)果只有0或者1,1表示成功
第一次就下載成功表示只下載了一次,所以需要count(*)groupbyuid,fid是1
不知道是否需要id,因?yàn)榫酆狭怂圆荒苤苯幽胕d,但是因?yàn)閷?yīng)的數(shù)據(jù)只有一條,所以隨便放一個(gè)sum(id)或者min(id)之類的都可以取到id
                            
查看完整回答
反對 回復(fù) 2019-10-31
?
守著星空守著你

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超8個(gè)贊

SELECTcount(*)c,id,uid,fid,statusFROMfile_downloadGROUPBYuid,fidhavingc=1
                            
查看完整回答
反對 回復(fù) 2019-10-31
  • 2 回答
  • 0 關(guān)注
  • 227 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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