關(guān)于修改表中數(shù)據(jù)后查詢出不符合預(yù)期結(jié)果的嘗試
老師,問(wèn)您個(gè)問(wèn)題:?
在執(zhí)行“select * from user_kills;”得到的表中全部數(shù)據(jù)那一塊,當(dāng)把id為8的那條數(shù)據(jù)的user_id改為2時(shí),即豬八戒有在兩個(gè)不同的日期殺敵都有10個(gè)的記錄,那么通過(guò)您那條語(yǔ)句查詢出來(lái)的結(jié)果就不是6條數(shù)據(jù)(每個(gè)徒弟都有兩條記錄),而是豬八戒只有一條記錄,而其余正常,請(qǐng)問(wèn)這個(gè)作何解釋呢?
?這個(gè)也是我偶然發(fā)現(xiàn)的,因?yàn)榫W(wǎng)站上沒(méi)有貼出表中用例數(shù)據(jù),所以先期是自己胡亂建的數(shù)據(jù),視頻到后期才通過(guò)你的查詢看到完整的數(shù)據(jù)。
2020-01-10
放到代碼里面去篩選唄
2017-11-06
恩,我的也是同樣情況。有沒(méi)有最佳的方法去解決?
2017-06-12
點(diǎn)贊,確實(shí)是,偶然發(fā)現(xiàn),那就是問(wèn)題了,確實(shí)是沒(méi)有考慮完全。(select count(*) from user_kill b where b.user_id = a.user_id and a.kills <= b.kills ) cnt,這個(gè)語(yǔ)句是達(dá)不到排序目的的,正如你說(shuō),豬八戒有12、10、10 這種記錄時(shí),針對(duì)12,排出結(jié)果是1,最對(duì)第一個(gè)、第二個(gè)10,排出的結(jié)果都是3,后面條件 where cnt <= 2 直接把兩條10的記錄過(guò)濾掉了。