如何选择一列最低数值的一行?

时间:2011-01-03 01:53:55

标签: mysql

选择一行中数值最小的一行的查询是什么?

5 个答案:

答案 0 :(得分:12)

你可以使用它

SELECT * FROM `YourTable` ORDER BY YourColumn LIMIT 1

答案 1 :(得分:5)

试试这个

SELECT * FROM `table` ORDER BY `column` ASC LIMIT 1;

答案 2 :(得分:2)

select
 f.*
from
 foo f
inner join
(
 select min(id) as id from foo
) m on m.id = f.id;

答案 3 :(得分:1)

选择与一列的最小值匹配的所有行(在SQL Server中)

SELECT T.col1, T.col2  
From Table T  
Where T.col1 = (select MIN(col1) from Table) 

要仅选择一行,您可以将第一行修改为:

Select Top 1 T.col1, T.col2

您可以随时添加'按colx排序'到最后(多列,逗号分隔的工作)。

希望有所帮助。

答案 4 :(得分:0)

我一直在寻找一个类似的解决方案。我希望完整的行包含另一列的表组的minium值。这是我遇到的解决方案。我使用order_by子句通过minium列对表进行排序,并使用ORDER BY将子查询提供给查询,该查询捕获出现的第一行,即排序行。

id  bigint(20)      
commission  decimal(5,4)
door_price  decimal(19,2)
event_id    bigint(20)
min_commission  decimal(19,2)
price   decimal(19,2)
visible_to_public

SELECT * FROM (SELECT       
        price_bundle.id as id,
        event_id,
        price_bundle.price + (case when ((price_bundle.commission * price_bundle.price) >  price_bundle.min_commission) then (price_bundle.commission * price_bundle.price) else price_bundle.min_commission end) AS total
     FROM price_bundle
 WHERE price_bundle.visible_to_public = 1
 ORDER BY total asc
) AS price_bundle_order_by_total_price_asc GROUP BY event_id