2016-04-24 90 views
0

我想检查一组记录的所有(浮点)值是否相等。如果my_field的所有值是平等的 Somethink像PostgreSQL等于聚合

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

如果相等(my_field)retuns真。

我该怎么做? 感谢的

+0

'count(distinct my_column)= 1'。但是'float'是一个近似的数据类型,所以你可能会得到你期望的正确计数。有关详情,请参阅:http://floating-point-gui.de/ –

回答

2

你可以使用MIN和MAX聚合

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

这不考虑NULL值虽然。如果这些可能在列中,您必须为此添加检查。

另外请记住,与花车平等并不总是很容易检查。