gpt4 book ai didi

mysql - 在查询中排序的 SQL 语句

转载 作者:行者123 更新时间:2023-11-29 23:23:35 25 4
gpt4 key购买 nike

我想开发允许查询中存在子集的代码。我有三个字段“batchid”、“月”和“年”。每一批可能有几个月甚至一年以上。我需要的最终订单是最高的月年组合。

我希望下表能够说明这一点。

Batch  Month  Year
5 12 2013
1 2014
6 11 2013
3 2014
4 1 2014
2 2014

所需的订单是

Batch  Month  Year
5 12 2013
1 2014
4 1 2014
2 2014
6 11 2013
3 2014

您可以看到每个批处理均按批处理中的最新日期排序,并且每个批处理均按批处理中的最新日期排序。我已经知道了年份,但无法弄清楚月份。第一个语句确定最低和最高日期。

我是这个论坛的新手,因此没有使用 VBA 的经验,也没有使用 beanpole 将 SQL 语句放入这篇文章中,所以我深表歉意,希望这可能有意义。

最佳答案

SELECT t1.batch, t1.month, t1.year  
FROM tmp t1
JOIN
(SELECT batch, max(year*12+month) mord FROM tmp GROUP BY batch ORDER BY mord) t2
ON t2.batch = t1.batch
ORDER BY t2.mord, t1.year, t1.month

产量

+-------+-------+------+
| batch | month | year |
+-------+-------+------+
| 5 | 12 | 2013 |
| 5 | 1 | 2014 |
| 4 | 1 | 2014 |
| 4 | 2 | 2014 |
| 6 | 11 | 2013 |
| 6 | 3 | 2014 |
+-------+-------+------+

关于mysql - 在查询中排序的 SQL 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27117081/

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