更改此查询以对行进行分组,并过滤​​除具有最小值的行以外的所有行 [英] Changing this query to group rows and filter out all rows apart from the one with smallest value

查看:82
本文介绍了更改此查询以对行进行分组,并过滤​​除具有最小值的行以外的所有行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我设置了以下结果:

275     72.87368055555555555555555555555555555556   foo
275     72.87390046296296296296296296296296296296   foo
113     77.06431712962962962962962962962962962963   foo
113     77.07185185185185185185185185185185185185   foo

我从此查询中获得的

:

that I got from this query:

SELECT id, (tbl2.date_modified - tbl1.date_submitted)/86400, some_value
FROM tbl1, tbl2, tbl3
WHERE tbl1.id = tbl2.fid 
AND tbl1.id = tbl3.fid

如何更改它以获取此信息:

How can I change it to get this:

275     72.87368055555555555555555555555555555556   foo
113     77.06431712962962962962962962962962962963   foo

仅获取最小的行 some_number

子查询或其他内容?

非常感谢:).

推荐答案

如果some_value是字段名称:

SELECT id, min((tbl2.date_modified - tbl1.date_submitted)/86400), max(some_value)
FROM tbl1, tbl2, tbl3
WHERE tbl1.id = tbl2.fid 
AND tbl1.id = tbl3.fid
GROUP BY tbl1.id

如果some_value是一些常量字符串:

if some_value is a some constant string :

SELECT id, min((tbl2.date_modified - tbl1.date_submitted)/86400), 'some_value'
FROM tbl1, tbl2, tbl3
WHERE tbl1.id = tbl2.fid 
AND tbl1.id = tbl3.fid
GROUP BY tbl1.id

这篇关于更改此查询以对行进行分组,并过滤​​除具有最小值的行以外的所有行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆