2016-04-24 7 views
0

レコードの集合のすべての(浮動小数点)値が等しいことを確認したいと思います。 my_fieldのすべての値が対等であれば均等(my_field)が真retunsPostgreSQLの等価集合

SELECT ..., equal(my_field) FROM my_table WHERE ... GROUP BY ... 

等 Somethink。

どうすればいいですか? 感謝の

+0

'count(distinct my_column)= 1'です。しかし、 'float'はおおよそのデータ型なので、あなたが期待する正確な数を得るかもしれません。詳細については、http://floating-point-gui.de/を参照してください。 –

答えて

2

あなたはMINとMAXを使用することができます。これは、しかし、アカウントのNULL値になりません

SELECT min(field)=max(field) WHERE ... GROUP BY... 

を集約。それらの列にある場合は、そのチェックを追加する必要があります。

また、浮動小数点では、等価性は常にチェックするのが簡単ではないことに注意してください。