關於左連線查詢出現排序問題

2021-09-23 13:27:09 字數 1136 閱讀 4541

最近在專案中遇到,limit 分頁查詢,檢視最後一條記錄時出現和預想的結果不一樣的情況,本身是應該出現主表的最後幾條資料,但是並沒有。出現了中間的順序。

經過自己多次的檢查最後不要 limit 查詢的結果大吃一驚,順序全是亂的。

sql 片段

from c_customer_coupon cc

left join wp_coupon w on w.id = cc.w_id

left join c_customer c on c.id = cc.c_id

left join com_dictionary d on d.id = c.group_id

最後結果集

120 21 2 0 2019-03-11 11:25:58 2019-03-11 11:25:58 董 滿21 2018-10-29 00:00:00 2018-11-12 00:00:00 21.00 4.10 0 預設組

122 18 2 0 2019-03-11 20:06:20 2019-03-11 20:06:20 王 滿21 2018-10-29 00:00:00 2018-11-12 00:00:00 21.00 4.10 11 測試組啊

123 18 2 0 2019-03-11 20:06:21 2019-03-11 20:06:21 王 滿21 2018-10-29 00:00:00 2018-11-12 00:00:00 21.00 4.10 11 測試組啊

31 16 5 0 2019-01-08 17:07:33 2019-01-08 17:07:33 蔡 滿34元 34.00 1.11 0 預設組

72 39 5 0 2019-01-17 15:36:00 2019-01-17 15:36:00 林 滿34元 34.00 1.11 0 預設組

81 40 5 0 2019-01-17 16:49:35 2019-01-17 16:49:35 徐 滿34元 34.00 1.11 0 預設組

其實也不完全是無序的,排序是先根據 wp_coupon  進行排序,之後再根據查詢的資料進行分別排序,為什麼會這麼做呢,這個主意是mysql的查詢優化 對於左連線的表 先查出在依次對主表進行對比,這樣就可以做到左連線的表只查詢一次。避免多次去掃瞄連線的表。所以順序一般都會亂,最後只需做個排序就行

PLSQL工具查詢出現??問號問題處理

原因 本機沒有配置資料庫字符集環境變數,或是與資料庫字符集不一致。步驟一 執行在plsql中執行select userenv language from dual 語句來檢視本機的字符集,或是執行select from v nls parameters 語句。兩者的區別是第一種檢視到的是拼接好的一條...

sql查詢按周查詢出現的跨年問題

從之前的帖子上看到,按周查詢的sql語句,元旦過後的第二週發現資料出不來了,才知道按周查詢還有乙個跨年的問題 根據上次得到的按周查詢的sql進行了一下調整,完美解決了跨年的問題 直接利用date sub now interval 7 day 函式,對時間驚醒處理,減去七天,然後再用 yearweek...

python連線資料庫查詢出現亂碼解決方案

前一段時間,我使用python連線sql server資料庫來完成在資料庫的查詢工作,資料庫的編碼使用的是gbk編碼,在查詢的時候,查詢出的結果出現了亂碼,有三種解決方案可以解決。1.可以通過將資料的的編碼方式改為utf 8解決這個問題。2.可以在查詢的時候將sql語句的字段轉換為nvarchar型...