我的数据库中有一个表,它定期收集信息。每行有一个序列号列 (SN) 和一个日期列 (ReadDate) 以及八个通道列 (ch1-ch8)。我想在一个查询中获取每个序列号的所有最新通道值。现在我的查询确实获取了所有序列号的所有通道。唯一的问题是我没有得到最新的值,看起来我正在抓取第一行。
我已经在 sqlfiddle http://sqlfiddle.com/#!2/313cf/2上放了一个我想要做的例子
关于我必须做些什么来获得每个序列号的最新通道值的任何想法?
我的数据库中有一个表,它定期收集信息。每行有一个序列号列 (SN) 和一个日期列 (ReadDate) 以及八个通道列 (ch1-ch8)。我想在一个查询中获取每个序列号的所有最新通道值。现在我的查询确实获取了所有序列号的所有通道。唯一的问题是我没有得到最新的值,看起来我正在抓取第一行。
我已经在 sqlfiddle http://sqlfiddle.com/#!2/313cf/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