mysql - 在同一mysql查询中选择特定列和*

标签 mysql optimization

我有两个疑问:

数组 allIds = 按时间顺序从 table1 中选择 id

select * from table1 where id in (allIds[0],allIds[1],...,allIds[9])

有没有办法将这些查询合并为一个?我需要这两个查询的所有数据。

最佳答案

如果我理解正确的话,我想这就是您正在寻找的东西。

基本上,以下查询将从第二个表中选择所有行,这些行的 ID 与第一个表中最近 10 行的 ID 相同。

这有道理吗?还是我错过了目标?

SELECT table.id, table2.*
FROM table
INNER LEFT JOIN table AS `table2` ON table.id IN (
    SELECT table.id
    FROM table
    ORDER BY table.time
    LIMIT 0,10
)

关于mysql - 在同一mysql查询中选择特定列和*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16599761/

相关文章:

mysql - 使用 IN 在 MySQL 查询中包含大量 ID 是否可以

mysql - 仅列出与 Rails 3 中的用户相关的问题

mysql - 如何保持 MySQL 数据库以最佳性能运行?

algorithm - 分组符号最大长度平衡子序列

performance - 字符串文字的 ResourceString VS Const

c++ - 曼哈顿度量的最小距离

mysql - MySQL更新语句的SET长度限制

PHP字段与数据库中相关字段的比较

php - 无法将表单提交到数据库

MySQL CLAUSE可以变成一个值吗?