2

我的数据库中有一个表,它定期收集信息。每行有一个序列号列 (SN) 和一个日期列 (ReadDate) 以及八个通道列 (ch1-ch8)。我想在一个查询中获取每个序列号的所有最新通道值。现在我的查询确实获取了所有序列号的所有通道。唯一的问题是我没有得到最新的值,看起来我正在抓取第一行。

我已经在 sqlfiddle http://sqlfiddle.com/#!2/313cf/2上放了一个我想要做的例子

关于我必须做些什么来获得每个序列号的最新通道值的任何想法?

4

1 回答 1

2
SELECT a.*
FROM    dials a INNER JOIN
        (
          SELECT  SN, MAX(RealReadDate) maxDate
          FROM    dials
          GROUP BY SN
          ) b ON a.SN = b.SN AND
                a.RealReadDate = b.maxDATE

SQLFiddle 演示

于 2012-10-29T16:16:25.320 回答