我有一些定期记录到SQL中的计数,我正在试图找出开始计数和最终计数之间的区别。
原始数据低于
这个表有大约30列,但它们更多的是相同的,只是不同的计数。
我想根据用户从SQL报告中输入的时间来选择最小行和最大行,我可以用下面的代码过滤掉数据。(我还可以将它过滤到两个不同的表中,一个是最小的,另一个是最大的,如果比较容易的话)。
SELECT *
FROM #tempTable
WHERE TableIndex = (SELECT min(TableIndex) FROM #tempTable)
or TableIndex = (SELECT max(TableIndex) FROM #tempTable)
过滤以下的数据
最终目标是这两行之间的差异,然后我会将这些数据提供给SQL报表以显示条形图。
我已经看到了解决方案,但是对于我想要做的事情来说,它们似乎过于复杂了,我需要定义每一列我要减去的和使用*的列。其中一些表有几百列。
发布于 2018-03-16 14:42:50
把它们连在一起怎么样?
SELECT tt.*, ttm.*
FROM #tempTable tt
(SELECT min(TableIndex) as minti, max(TableIndx) as maxti
FROM #tempTable
) ttm
ON ttmTableIndex IN (ttm.minti, ttm.maxti);
然后,可以对同一行中的值执行任何您喜欢的算术操作。
就我个人而言,我会发现将这两行放入电子表格并使用公式减去值会更容易。
https://stackoverflow.com/questions/49323301
复制相似问题