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