在SQL中比较与去年同期的行的日期。
P粉821231319
P粉821231319 2023-08-02 22:49:52
[MySQL讨论组]
<p>我有一个数据库,其中包含订单日期、产品代码和客户,就像这个例子一样:</p> <table class="s-table"> <thead> <tr> <th style="text-align:center;">Index</th> <th style="text-align:center;">code</th> <th style="text-align:center;">customer</th> <th style="text-align:center;">order_date</th> </tr> </thead> <tbody> <tr> <td style="text-align:center;">1</td> <td style="text-align:center;">CCC</td> <td style="text-align:center;">C</td> <td style="text-align:center;">2018-01-01</td> </tr> <tr> <td style="text-align:center;">2</td> <td style="text-align:center;">AAA</td> <td style="text-align:center;">A</td> <td style="text-align:center;">2020-01-01</td> </tr> <tr> <td style="text-align:center;">3</td> <td style="text-align:center;">CCC</td> <td style="text-align:center;">C</td> <td style="text-align:center;">2021-02-02</td> </tr> <tr> <td style="text-align:center;">4</td> <td style="text-align:center;">CCC</td> <td style="text-align:center;">C</td> <td style="text-align:center;">2021-03-03</td> </tr> <tr> <td style="text-align:center;">5</td> <td style="text-align:center;">DDD</td> <td style="text-align:center;">A</td> <td style="text-align:center;">2022-04-04</td> </tr> <tr> <td style="text-align:center;">6</td> <td style="text-align:center;">FFF</td> <td style="text-align:center;">F</td> <td style="text-align:center;">2023-05-05</td> </tr> <tr> <td style="text-align:center;">7</td> <td style="text-align:center;">FFF</td> <td style="text-align:center;">F</td> <td style="text-align:center;">2023-08-08</td> </tr> </tbody> </table> <p>我需要一个查询来列出所有订单,在订单日期之前的去年中,没有相同产品代码和客户的订单。在这个例子中,期望的输出将是:</p> <table class="s-table"> <thead> <tr> <th style="text-align:center;">Index</th> <th style="text-align:center;">code</th> <th style="text-align:center;">customer</th> <th style="text-align:center;">order_date</th> </tr> </thead> <tbody> <tr> <td style="text-align:center;">1</td> <td style="text-align:center;">CCC</td> <td style="text-align:center;">C</td> <td style="text-align:center;">2018-01-01</td> </tr> <tr> <td style="text-align:center;">2</td> <td style="text-align:center;">AAA</td> <td style="text-align:center;">A</td> <td style="text-align:center;">2020-01-01</td> </tr> <tr> <td style="text-align:center;">3</td> <td style="text-align:center;">CCC</td> <td style="text-align:center;">C</td> <td style="text-align:center;">2021-02-02</td> </tr> <tr> <td style="text-align:center;">5</td> <td style="text-align:center;">DDD</td> <td style="text-align:center;">A</td> <td style="text-align:center;">2022-04-04</td> </tr> <tr> <td style="text-align:center;">6</td> <td style="text-align:center;">FFF</td> <td style="text-align:center;">F</td> <td style="text-align:center;">2023-05-05</td> </tr> </tbody> </table> <p>如果您查看索引号为4和7的行,您会发现在过去的一年中,还有另一行具有相同的代码和客户信息。<br /><br />在MySQL中如何实现这一点呢?</p><p><br /></p>
P粉821231319
P粉821231319

全部回复(1)
P粉300541798

您可以尝试像这样查询:

select *,YEAR(order_date) as order_year from YOUR_TABLE group by code,customer,order_year;

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号