資料看起來像
| PONum | 更換日期 | 價格變更日期 | PcrPreviousPriceValue | PcrPriceValue |
|---|---|---|---|---|
| 90358 | 2022-01-10T06:16:17.420000 | 2020-05-04 08:19:49.746500 | 483.93 | 483.07 |
| 90358 | 2022-01-10T06:16:17.420000 | 2020-04-19 08:25:45.122000 | 332.19 | 332.84 |
| 90358 | 2022-01-10T06:16:17.420000 | 2020-06-20 01:27:55.657500 | 434.56 | 430.18 |
| 90358 | 2022-01-10T06:16:17.420000 | 2021-01-20 16:53:31.762600 | 403.81 | 399.75 |
預期結果:
| PONum | 更換日期 | 價格變更日期 | PcrPreviousPriceValue | PcrPriceValue |
|---|---|---|---|---|
| 90358 | 2022-01-10T06:16:17.420000 | 2021-01-20 16:53:31.762600 | 403.81 | 399.75 |
我知道在 SQL Server 中可以使用 cross apply 來獲取資料,我們如何在 GBQ 中做同樣的事情?
uj5u.com熱心網友回復:
假設價格變化不超過每天一次。
WITH CTE AS (
SELECT YT.*,
row_number() over (PARTITION BY PONum ORDER by DATE_DIFF(priceChangeDate, ReplacementDate, DAY) RN
FROM YourTable YT)
SELECT *
FROM CTE
WHERE RN=1
uj5u.com熱心網友回復:
SELECT top 1 * FROM Your_Table_Name ORDER BY DATEDIFF(SECOND, [PriceChangeDate], [ReplacementDate]) / 1000
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/448975.html
