MySQL SELECT MAX在等式中

时间:2010-11-15 05:51:48

标签: mysql max

我正在尝试做的是在表中找到小于另一个字段的MAX的值,减去一个数值。例如:

   ...WHERE some_table.value_1 = 0 AND another_table.value_2 <= (SELECT MAX(another_table.value_3) - 5) ORDER BY...

然而,这不起作用!我的连接都很好,查询运行时没有WHERE语句的第二部分,但是如果您想查看其余代码以获取更多信息,请告诉我们!

干杯!

闪耀*

ps所有值都是整数

2 个答案:

答案 0 :(得分:2)

以下是使用联接的工作示例,尝试将其应用于您的:

SELECT        *
FROM          table1 t1
INNER JOIN    table2 t2
    ON        t1.join_field = t2.join_field
WHERE         t1.some_field = 1
    AND       t2.other_field <= (
                  SELECT (MAX(t22.third_field) - 5)
                  FROM   table2 t22
              );

如果这不是您想要的,请告诉我,我会更新。

答案 1 :(得分:0)

使用 HAVING MAX(...)

类似的东西:

SELECT MIN(p.price) AS price, p.pricegroup
FROM articles_prices AS p
_YOUR_JOINED_TABLE_
WHERE p.articleID=10
GROUP BY p.pricegroup
HAVING MAX(p.price) > _VALUE_FROM_JOINED_TABLE_;