作者cert889 (展翅高飞)
看板Programming
标题[问题] sqlite的bug?
时间Sun Oct 22 08:18:06 2017
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://webptt.com/cn.aspx?n=bbs/Programming/M.1508631489.A.1C0.html
1F:→ Lordaeron: 栏位的属性? 118.160.87.192 10/22 08:20
close栏位的属性是Integer...
但这跟栏位属性有关吗?
因为sqlite不是说有type affinity特性?
栏位贮存有小数点时,会视为Numeric属性,没有小数点时才会以Integer贮存
而且rowid<=61时一切正常啊?
2F:→ alan23273850: 怎麽不把每个 row 印出来交叉尝试 123.193.38.80 10/22 11:12
3F:→ alan23273850: 呢 123.193.38.80 10/22 11:12
感谢,印出来的结果如下:
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