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