有没有办法在MySQL中自定义`ORDER BY`? DESC和ASC太简单了,无法完成订购。
我想给每个字段赋予权重并计算要订购的金额。
例如,我有一个包含字段A,B和C的表.A的权重是2,B是1,C是3.所以结果应该是ORDER BY 2 * A + B + 3 * C DESC / ASC 。我怎么能这样做?
答案 0 :(得分:2)
你可以这样做:
SELECT a, b, c, (2*a+b+3*c) combined_weighting FROM table ORDER BY combined_weighting DESC;
答案 1 :(得分:0)
一旦db服务器将数据返回给流,ORDER BY用于按特定顺序返回数据。您正在尝试在ORDER BY上执行一个复杂的公式,该公式应该在GROUP BY子句中考虑并且很可能在TEMP表中