[問題] sqlite的bug?

看板Programming作者 (展翅高飛)時間7年前 (2017/10/22 08:18), 7年前編輯推噓0(003)
留言3則, 2人參與, 7年前最新討論串1/2 (看更多)
Hi, all 我在使用sqlite的Max和Min時,發生奇怪的問題如下: SQLite version 3.20.1 2017-08-24 16:21:36 Enter ".help" for usage hints. sqlite> SELECT Max(close) FROM Daily WHERE rowid<=62; .97 sqlite> SELECT Min(close) FROM Daily WHERE rowid<=62; 1.03 sqlite> SELECT Max(close) FROM Daily WHERE rowid<=61; .97 sqlite> SELECT Min(close) FROM Daily WHERE rowid<=61; .76 如上所示,rowid<=61時,可以正常取Max和Min值 但rowid<=62時,Min值居然大於Max值?? 請問有人知道rowid=62時,發生了什麼事嗎?....囧> -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.160.132.33 ※ 文章網址: https://www.ptt.cc/bbs/Programming/M.1508631489.A.1C0.html

10/22 08:20, 7年前 , 1F
欄位的屬性?
10/22 08:20, 1F
close欄位的屬性是Integer... 但這跟欄位屬性有關嗎? 因為sqlite不是說有type affinity特性? 欄位貯存有小數點時,會視為Numeric屬性,沒有小數點時才會以Integer貯存 而且rowid<=61時一切正常啊?

10/22 11:12, 7年前 , 2F
怎麼不把每個 row 印出來交叉嘗試
10/22 11:12, 2F

10/22 11:12, 7年前 , 3F
10/22 11:12, 3F
感謝,印出來的結果如下: sqlite> SELECT rowid, date, close FROM Daily WHERE rowid<=255; 1|2003-08-01|.85 2|2003-08-04|.85 3|2003-08-05|.85 4|2003-08-06|.82 5|2003-08-07|.85 ... 33|2003-09-17|.78 34|2003-09-18|.76 35|2003-09-19|.76 36|2003-09-22|.81 ... 60|2003-10-27|.96 61|2003-10-28|.97 62|2003-10-29|1.03 63|2003-10-30|1.05 64|2003-10-31|1.07 65|2003-11-03|1.1 請問有人能看出有什麼問題嗎? ※ 編輯: cert889 (118.160.132.33), 10/22/2017 15:52:55
文章代碼(AID): #1Pw-F170 (Programming)
討論串 (同標題文章)
文章代碼(AID): #1Pw-F170 (Programming)