我有一个用户表如下
id name age
1 John 21
2. Mathan 23
3. Raj 21
4. Manoj 50
5 Krishnan 91
我想找到最低年龄及其相应的名字。我怎样才能使用rails?
我可以在一个查询中执行此操作吗?
注意:多个名字可以有单一年龄。
答案 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);