gpt4 book ai didi

MYSQL SELECT 最近的 id 和 ORDER BY

转载 作者:可可西里 更新时间:2023-11-01 08:04:49 26 4
gpt4 key购买 nike

我想做的是获取每个 resort_id 的最新结果,然后是 ORDER BY snow_depth。前两部分我已经完成了。排序是不起作用的部分。

到目前为止我有什么

SELECT * FROM snow_conditions t1

NATURAL JOIN ( SELECT MAX(weather_id) AS weather_id, resort_id FROM snow_conditions
GROUP BY resort_id ) t2

ORDER BY snow_depth DESC

weather_id 是自动递增的,所以我用它代替 save_time 以减少计算资源。

让我困惑的是结果以 snow_depth 的一些奇怪的偏序出现。

+-----------+------------+------------+
| resort_id | weather_id | snow_depth |
+-----------+------------+------------+
| 888 | 827 | 90 |
| 943 | 835 | 90 |
| 860 | 839 | 75 |
| 17 | 828 | 71 |
| 26 | 826 | 70 |
| 9 | 852 | 60 |
| 16 | 831 | 292 |
| 296 | 862 | 170 |
| 20 | 843 | 168 |
| 5 | 842 | 165 |
| 36 | 838 | 160 |
| 17 | 17 | 0 |
| 26 | 26 | 0 |
+-----------+------------+------------+

什么时候真的应该是这样

+-----------+------------+------------+
| resort_id | weather_id | snow_depth |
+-----------+------------+------------+
| 16 | 831 | 292 |
| 296 | 862 | 170 |
| 20 | 843 | 168 |
| 5 | 842 | 165 |
| 36 | 838 | 160 |
| 888 | 827 | 90 |
| 943 | 835 | 90 |
| 860 | 839 | 75 |
| 17 | 828 | 71 |
| 26 | 826 | 70 |
| 9 | 852 | 60 |
| 17 | 17 | 0 |
| 26 | 26 | 0 |
+-----------+------------+------------+

我已经尝试了几乎所有可以在此处找到的相关的 MySQL 查询,但它们都遇到了相同的问题或无法正常工作。

编辑:我应该提到这个表包含数千行,每个 resort_id 有数百行。这是这样做的,所以我可以用它来生成降雪历史。

最佳答案

我认为你应该检查你的数据库中snow_depth 的数据类型,它不应该是varchar。你的结果听起来像是 varchar 所以如果它是然后将它更改为 int 或任何 numeric 类型

关于MYSQL SELECT 最近的 id 和 ORDER BY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34721056/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com