【发布时间】:2018-04-19 12:34:59
【问题描述】:
我有一个名为weathers的表:
+--------+-------+---------+
| id | temp | id_freg |
+--------+-------+---------+
| 337 | 12.36 | 1 |
| 3556 | 11.46 | 2 |
| 6775 | 9.30 | 3 |
| 10210 | 8.55 | 1 |
| 13429 | 9.69 | 2 |
还有一张名为freguesias的表(葡萄牙的小地方):
+----+-----------+
| id | name |
+----+-----------+
| 1 | Cabeção |
| 2 | Pavia |
| 3 | Brotas |
| 4 | Mora |
我需要从这里做一个 INNER 连接并限制每个 freguesia 的天气结果数量,所以如果我想要 3 个 freguesias 的天气,我想为每个 order desc limit 1你可以说这是where 子句中每个freguesias 的当前天气。
此时我的查询是:
select weathers.*
from weathers
inner join freguesias
ON weathers.id_freg = freguesias.id
where weathers.id_freg IN (2,1)
LIMIT 1;
这行不通,因为我需要每个结果一个:id_freg = 1 一个,id_freg = 2 另一个,每个由weathers.id DESC 排序
【问题讨论】:
-
包含样本结果可能会使您的问题更清楚。
标签: mysql sql performance