请我想从表中选择,在某一特定领域具有最小值数据的数据,我已经试过这样:MYSQL如何选择其中字段具有最小值
SELECT * FROM pieces where min(price)
我对MySQL不好,请帮忙吗?谢谢
请我想从表中选择,在某一特定领域具有最小值数据的数据,我已经试过这样:MYSQL如何选择其中字段具有最小值
SELECT * FROM pieces where min(price)
我对MySQL不好,请帮忙吗?谢谢
这会给你所有记录上的最低价格的结果。
SELECT *
FROM pieces
WHERE price = (SELECT MIN(price) FROM pieces)
不客气:D –
这可能会很慢。 – abenevaut
这是我会怎么做(假设我理解这个问题)
SELECT * FROM pieces ORDER BY price ASC LIMIT 1
如果你想选择多行,每个人可能有相同的价格(这是最低限度),那么@ JohnWoo的答案应该足够了。
基本上这里我们只是按照ASCending顺序(增加)中的价格对结果进行排序并取出结果的第一行。
这也适用于:
SELECT
pieces.*
FROM
pieces inner join (select min(price) as minprice from pieces) mn
on pieces.price = mn.minprice
(因为这个版本不具备其中一个子查询条件,它可以被使用,如果你需要更新表,但如果你只需要选择我将reccommend使用吴宇森溶液)
它看起来像它可以在视图中重用 –
使用HAVING MIN(...)
喜欢的东西:
SELECT MIN(price) AS price, pricegroup
FROM articles_prices
WHERE articleID=10
GROUP BY pricegroup
HAVING MIN(price) > 0;
事实上,取决于你想要得到什么: - 就在最小值:
SELECT MIN(price) FROM pieces
一个表(倍数行)蒙山的最小值:是因为吴宇森上面说的。
但是,如果可以与相同最小值不同行,最好是从另一列命令他们,因为毕竟以后你需要做的(由吴宇森的answere开始):
SELECT * FROM件WHERE 价格=(SELECT MIN(价格)FROM件) ORDER BY股票ASC
,使其更简单
SELECT *, MIN(价格)FROM督促LIMIT 1
它实际上不会。 *将显示随机值,不一定来自与该分钟关联的行。 –
完全同意Laurentiu L.在这里:大多数其他DBMS(然后是MySQL)不会允许您在没有正确的GROUP BY子句的情况下运行这样的查询。 –
这将选择一个随机行来最小化值,而不是它所要求的! –
这个问题可以有多种解释,你可以给例如记录与结果的所有记录? –