我有3列类型double
。
我需要获得结果,其中3列的总和大于x。
也许是一个愚蠢的问题,以下哪种方法更适合这个
1)通常总结:WHERE col1 + col2 + col3 > x
2)或用括号括起来:WHERE (col1 + col2 + col3) > x
或者两个menthods之间没有什么区别?
答案 0 :(得分:1)
您的两个查询都没有问题。通过运算符层次结构,最好使用括号方法。
MySQL Operator Precedence documentation
运算符优先级显示在以下列表中,从最高位置开始 优先级最低。在一条线上一起显示的运算符 具有相同的优先权。
INTERVAL BINARY, COLLATE ! - (unary minus), ~ (unary bit inversion) ^ *, /, DIV, %, MOD -, + <<, >> & | = (comparison), <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, IN BETWEEN, CASE, WHEN, THEN, ELSE NOT &&, AND XOR ||, OR = (assignment), := Its better to handle the summarized values among three columns.
WHERE (col1 + col2 + col3) > x