Rumah  >  Soal Jawab  >  teks badan

Bandingkan tarikh dalam SQL dengan baris dari tempoh yang sama tahun lepas.

<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粉821231319P粉821231319467 hari yang lalu673

membalas semua(1)saya akan balas

  • P粉300541798

    P粉3005417982023-08-03 11:34:19

    Anda boleh cuba bertanya seperti ini:

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

    balas
    0
  • Batalbalas