CREATE TEMPORARY TABLE TEMP (SELECT * FROM TABLE ORDER BY COLUMN_A);
SELECT * FROM TEMP ORDER BY COLUMN_B;
我有一个表存储每个城市的最后24小时下午点,我想选择每个城市的最新下午点。所以我使用“选择*从city_pm订单按日期desc限制the_count_of_city”,然后我想要一个每个城市的最新pm点的排名,所以我使用select之前创建一个临时表,并按下午点来排序表...这是我想要完成的,我无法弄清楚一个更好的所以我决定创建一个临时表。
答案 0 :(得分:2)
我相信左联盟可能会在这种情况下提供帮助。您的目标是按最后一个PM点订购城市。
假设您的city
表的主键是city_id,而另一个名为city_pm
的表包含PM点,并且您有两个模型City和City_Pm ......
在您看来:
cities = City.objects.all()
在你的模特中:
class City(models.Model):
# fields ...
def get_latest_pm(self):
try:
return City_Pm.objects.filter(city_id=self.pk).order_by("-date")[:1].get()
except:
return None
在你的模板中:
{% for city in cities %}
{{ city.get_latest_pm }}
{% endfor %}