1
只是通過添加一個不應該做任何事情的DISTINCT,我會得到非常不同的結果。Sqlite DISTINCT不一致的結果
我的表有〜10000行,具有獨特的rowid。
然而,當我運行:
SELECT DISTINCT * FROM thetable GROUP BY rowid
我只得到〜行6000。什麼??不應該每行都不同,因爲每行都有不同的行ID?
只是通過添加一個不應該做任何事情的DISTINCT,我會得到非常不同的結果。Sqlite DISTINCT不一致的結果
我的表有〜10000行,具有獨特的rowid。
然而,當我運行:
SELECT DISTINCT * FROM thetable GROUP BY rowid
我只得到〜行6000。什麼??不應該每行都不同,因爲每行都有不同的行ID?
Ahhh - rowid不會自動包含在返回的行中,因此其他相同的行將被標記爲重複。
以下修補程序的工作:
SELECT DISTINCT rowid, * FROM thetable GROUP BY rowid
這意味着所有列是爲那些同樣〜4000 rows.rowid將是那些行相同。 –