> 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '( PARTITION BY device_code ORDER BY date ASC ) rn FROM dust_noise_data W' at line 7
时间: 2023-06-30 12:25:07 浏览: 259
MySQL编码不一致可能引起的一些问题
这个错误提示是因为 MySQL 不支持在窗口函数中使用 AS 关键字来重命名列名,也不支持使用 `WITH` 子句来创建临时表。可以尝试如下修改 SQL 语句:
```
SELECT t.device_code, t.dust
FROM (
SELECT device_code, dust, ROW_NUMBER() OVER (PARTITION BY device_code ORDER BY date ASC) rn
FROM dust_noise_data
WHERE device_code IN ('A-001', 'B-002', 'C-003')
) t
WHERE t.rn = 1;
```
这里的 `ROW_NUMBER()` 函数的使用需要 MySQL 8.0 或以上版本的支持,如果你的 MySQL 版本低于 8.0,将会出现语法错误。
阅读全文