【发布时间】:2022-10-06 13:14:23
【问题描述】:
我正在尝试根据自定义字段检索记录 \"词库\"。对于 \" 的相同值词库\" 我们将有多个 \"l1m_visits\",我想检索\"的最小值l1mvisits\" 对于每个 \"词库\"。我想得到词库通过删除第一个和第二个下划线(-)之间的字符串苦, 如何在这里写一个查询来获取 ci_ku
样本数据:
| item | l1m_visits |
|---|---|
| 1234 | A |
| 1234 | B |
| 56457 | D |
预期产出:
| ku | ci_ku | l1m_visits |
|---|---|---|
| 1234-5678-HIJK | 1234-HIJK | A |
| 56457-12456-DF-GH-TC | 56457-DF-GH-TC | D |
已尝试以下查询:
WITH tab_with_ci_ku AS (
select split(ku, \'-\', 3)ivm_arr,
l1m_visits,
last_refresh_date
FROM db.scema.table
), ranked_visits AS (
SELECT *, ROW_NUMBER() OVER(PARTITION BY CONCAT(ivm_arr[2],item) as ci_sku ORDER BY l1m_visits) AS rn
FROM tab_with_ci_ku
)
SELECT sku,ci_ku
FROM ranked_visits
WHERE rn = 1
并面临以下错误:
mismatched input \'ci_ku\'. Expecting: \'ALTER\', \'ANALYZE\', \'CALL\', \'COMMENT\', \'COMMIT\', \'CREATE\', \'DEALLOCATE\', \'DELETE\', \'DENY\', \'DESC\', \'DESCRIBE\', \'DROP\', \'EXECUTE\', \'EXPLAIN\', \'GRANT\', \'INSERT\', \'MERGE\', \'PREPARE\', \'REFRESH\', \'RESET\', \'REVOKE\', \'ROLLBACK\', \'SET\', \'SHOW\', \'START\', \'TRUNCATE\', \'UPDATE\', \'USE\', <query>
标签: sql postgresql psql presto