根据PostgreSQL中的列值指定的间隔

时间:2014-02-26 05:55:44

标签: mysql sql postgresql

我的数据就像这样

wavelength    reflectance
341.6         2.48
343.6         2.58
347.6         4.51
351.1         8.51
359.2         9.56
362.2         11.2
364.2         25.3
365.3         58.2
366.6         58.2
368.9         24.2
373.6         28.2

我希望采用10个波长间隔,并且它们之间的反射间隔取平均值然后输出 我想要这样的输出

wavelength    reflectnce
341.6         2.48
351.1         5.20
362.2         10.38
373.6         32.35

1 个答案:

答案 0 :(得分:0)

在SQL Server中,您可以这样做:

;WITH CTE AS(
SELECT ROW_NUMBER() OVER(PARTITION BY CAST(wavelength AS INT)-CAST(wavelength AS INT)%10 ORDER BY wavelength) AS ROW_ID,wavelength,reflectance FROM Your_Table
)

SELECT wavelength,reflectance FROM CTE WHERE ROW_ID=1

希望它会有所帮助。