2016-05-12 27 views
-2

我有一個表,其中運行以下兩個命令給我一個不同的結果:在哪些情況下,PostgreSQL中的「Select count(*)」與「Select count(*)AS」會產生不同的結果?

SELECT count(*) AS result_count FROM test_table; 
SELECT count(*) FROM test_table; 

第一個命令返回正確的數或行(約1百萬)和所述第二命令返回行數不正確(約50K)。查詢從pgadmin中運行。

有誰知道爲什麼會發生這種情況?在我測試的其他表格上,結果是一致的和正確的。

對於這個特殊的表格,即使該命令給我正確的行量:

SELECT reltuples::bigint FROM pg_class where relname='test_table'; 

該表具有3列,串行ID(整數),沒有時區的時間戳和數字值。

預先感謝任何信息, 米哈利斯

+3

我不相信。請將查詢計劃添加到您的問題中。加上表格定義。 – joop

+0

@joop:重新啓動我的電腦後,我重試了今天的查詢,結果在所有表上都一致且正確。我想知道我所得到的問題是否可能是一些腐敗的結果,但現在我更傾向於認爲這是人爲錯誤。感謝您抽出時間回覆。由於我是新手,以stackoverflow(作爲成員),你可以讓我知道如果我應該刪除這篇文章或保持打開? – Michalis

+0

如果沒有附加信息,則無法解決此問題(顯而易見的原因是查詢是在不同的數據庫或模式中執行的)。 WRT關閉:無論適合你。 – joop

回答

0

我原來的問題可能是無效的,因爲我一直沒能重新啓動我的電腦後的第二天重現該問題。