在单个查询mysql上查找最低值和相应的代码

时间:2014-06-17 06:23:40

标签: mysql sql ruby-on-rails ruby-on-rails-4

我有一个用户表如下

id   name      age

1    John      21

2.   Mathan    23

3.   Raj       21

4.   Manoj     50

5    Krishnan  91 

我想找到最低年龄及其相应的名字。我怎样才能使用rails?

我可以在一个查询中执行此操作吗?

注意:多个名字可以有单一年龄。

3 个答案:

答案 0 :(得分:1)

您是否有特定原因要在单个查询中执行此操作?

如果你可以写2个查询,我想你可以写:

User.where age: User.minimum(:age)

答案 1 :(得分:0)

select age, group_concat(name) from table group by age order by age asc limit 1

稍后您将需要在ruby中处理结果,但这会在一个查询中提供您所需的一切。另外我假设mysql,所以可能在其他rdbms上有所不同。

答案 2 :(得分:0)

它在mysql中提供了你想要的确切输出

SELECT concat("[",name," ",age,"]") AS name
FROM TABLE
WHERE age =
    (SELECT min(age)
     FROM TABLE);