0
預測列我有一個PostgreSQL數據庫這樣計算實際之間的第95百分位數差和在SQL
的表和相應列的數據類型是
讀數
meas_id - integer(Foreign keyed to Measurement.meas_id)
actual_meas - integer
predicted_meas - integer
pdatetime - Timestamp with timezone (UTC)
status - Enum('completed', 'inprogress', 'nottaken')
測量
meas_id - integer
meas_name - string
Meas_name has measurements length, breadth, width, height
對於每個測量「長度」和「寬度」,我試圖計算過去30天內所有已完成測量的實際值和預測值之間的第95百分位差。
我試圖做這種方式,但沒有得到它
SELECT
Measurement.meas_name,
MIN(Readings.actual_meas - Readings.predicted_meas) AS Difference
FROM
(
SELECT TOP 95 PERCENT
FROM Readings
ORDER BY Difference DESC
) AS NinetyFivePerc
JOIN Measurement
WHERE NinetyFivePerc.meas_id = Measurement.meas_id
AND NinetyFivePerc.pdatetime >= DATEADD(DAY, -30, GETDATE())
AND Measurement.meas_name IN ('length','breadth')
AND NinetyFivePerc.status = 'completed'
我學習SQL等請提供上實現它以優化的方式輸入。