This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
时间: 2024-03-21 15:37:58 浏览: 48
MySQL性能优化神器, Explain总结使用最详细教程
如果您的 MySQL 版本不支持在 `IN` 子查询中使用 `LIMIT`,您可以使用以下 SQL 查询语句:
```mysql
SELECT t1.project_name, t1.f_value, ABS(UNIX_TIMESTAMP(t1.f_time) - UNIX_TIMESTAMP('your_time')) AS diff
FROM your_table t1
INNER JOIN (
SELECT DISTINCT project_name
FROM your_table
ORDER BY RAND()
LIMIT 11
) t2 ON t1.project_name = t2.project_name
ORDER BY diff
LIMIT 11;
```
这个 SQL 查询语句中,我们使用了 `INNER JOIN` 子句来连接两个子查询,其中第一个子查询是您要查询的数据表,第二个子查询是随机选出的 11 个不同的项目名称。这两个子查询通过 `ON` 条件来连接,然后按照离 `your_time` 最近的时间排序,最后返回这 11 个项目的数据值和时间。
请将 `your_time` 替换为您要查询的时间,将 `your_table` 替换为您的数据表名称。
阅读全文