web-dev-qa-db-ja.com

SQL COUNTオーバーフロー

これが私のクエリです:

SELECT COUNT(*) FROM Similarities WHERE T1Similarity = 0 OR T2Similarity = 0

結果は次のとおりです。

メッセージ8115、レベル16、状態2、行1

式をデータ型intに変換する算術オーバーフローエラー。

テーブルには40億行あります。このクエリは高速であることを除外していませんが、約5分後に、オーバーフローエラーで失敗します。 intより大きなデータ用のCOUNT関数はありますか?

ありがとう。

50
user593062

COUNT_BIG を使用します

SELECT COUNT_BIG(*) FROM Similarities WHERE T1Similarity = 0 OR T2Similarity = 0
102
pstrjds
  SELECT COUNT_BIG(*) FROM Similarities WHERE T1Similarity = 0 OR T2Similarity = 0