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

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

小白,請教各位大佬!面試遇到的SQL語句編寫問題,求解答怎么回事哈???

小白,請教各位大佬!面試遇到的SQL語句編寫問題,求解答怎么回事哈?。?/h1>
慕田峪4524236 2019-08-14 20:40:10
題目描述面試遇到這樣一個問題:有一個用戶下載文件的表'file_download',如下:iduidfidstatus1110211132114220522161317330...uid代表用戶ID,fid代表文件ID,`status代表文件下載狀態(tài),0是失敗,1是成功。用戶若下載文件失敗,可以繼續(xù)下載,一旦下載成功,就不會再下載該文件。讓查出用戶第一次下載文件就成功的記錄。自己的思路我給的答案是這樣的:SELECT*FROMfile_downloadGROUPBYuid,fidHAVING`status`=1;但是面試官似乎不太滿意,問我是否還有其他的方法?
查看完整描述

2 回答

?
一只萌萌小番薯

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

隨便寫的…應(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;
解釋一下,因為要查第一次下載文件就成功的記錄,所以
下載要成功,需要有status=1的記錄
下載成功之后就不會再下載,所以sum(status)groupbyuid,fid得到的結(jié)果只有0或者1,1表示成功
第一次就下載成功表示只下載了一次,所以需要count(*)groupbyuid,fid是1
不知道是否需要id,因為聚合了所以不能直接拿id,但是因為對應(yīng)的數(shù)據(jù)只有一條,所以隨便放一個sum(id)或者min(id)之類的都可以取到id
                            
查看完整回答
反對 回復 2019-08-14
?
繁華開滿天機

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

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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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