Aynı sütunda tarihleri ​​arasında farkı nasıl belirlenir?

1 Cevap php

Doğum tarihleri ​​arasındaki farkı belirlemek için?

  1. + ---------- + ---------- + ------------ +
  2. | Id | isim | doğum |
  3. + ---------- + ---------- + ------------ +
  4. | 00001 | Akbaba | 2010-04-17 |
  5. | 00002 | Akbaba | 2010-01-31 |
  6. | 00003 | Akbaba | 2009/11/31 |
  7. | 00004 | Akbaba | 2009/09/31 |
  8. | 00005 | Akbaba | 2009-07-31 |
  9. | 00006 | Akbaba | 2008-10-31 |
  10. + ---------- + ---------- + ------------ +

Ben bu almak istiyorum:

+ ---------- + ---------- + ------------ +------------------------------------------+
  1. | Id | isim | doğum | diff |
  2. + ---------- + ---------- + ------------ +------------------------------------------+
  3. | 00001 | Akbaba | 2010-04-17 | diff (id1-id2) = 2010-01-31 - 2010-04-17 |
  4. | 00002 | Akbaba | 2010-01-31 | diff (id2-id3) = 2010-01-31 - 2009-11-31 |
  5. | 00003 | Akbaba | 2009/11/31 | diff (id3-id4) = 2010-01-31 - 2009-09-31 |

Eğer fark DESC mümkün, SİPARİŞ

Yardımlarınız için teşekkür ederim

Vera

1 Cevap

Eğer gün içinde iki tarih arasındaki farkı döndürür datediff işlevini kullanmak isteyeceksiniz gibi görünüyor. Eğer fark her zaman pozitif olmak istiyorsanız, abs fonksiyonunu uygulayın.

Ayrıca, bu geçerli bir ilgili satır almak için kendisine tablo katılmak isteyen benziyor (related_row.id = row.id olarak tanımlanan ilişki +1).

Tablo tanım size farklılıkları nasıl görüntülenmesini istediğinizi, ya da tam olarak ne daha fazla bilgi olmadan, örnek bir sorgu aşağıdaki gibi görünebilir.

select 
   t.id, 
   t.name, 
   t.birth, 
   abs(datediff(t.birth,t2.birth)) as diff 
from table t
inner join table t2 on (t.id+1) = t2.id
order by abs(datediff(t.birth,t2.birth)) desc