この質問は、このクエリを変更して行をグループ化し、値が最小で最後に余分なビットがある行を除くすべての行を除外するための続きです。
次の結果セットがあります。
275 72.87368055555555555555555555555555555556 foo 70
275 72.87390046296296296296296296296296296296 foo 90
113 77.06431712962962962962962962962962962963 foo 80
113 77.07185185185185185185185185185185185185 foo 60
私がこのクエリから得たもの:
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
2つのIDを持つ4つの行があることに注意してください。行をフィルタリングして、2番目の列の最小数のみを取得したかったのです。これはそれを修正しました:
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
だから私は得た:
275 72.87368055555555555555555555555555555556 foo 70
113 77.06431712962962962962962962962962962963 foo 80
同じことをするように変更できますが、他の行がある行を含めないようにするにはどうすればよいsome_value=90
ですか?つまり
113 77.06431712962962962962962962962962962963 foo 80
ネストされたグループまたはネストされたクエリが必要だと思いますか?!
どうもありがとう :)。