Wie vergleichen Sie Daten für mehrere Reihen unter den selben Tisch und den selben account

Wenn alle SQL-gurus könnte mich in die richtige Richtung, das wäre eine große Hilfe. Ich Lerne SQL und möchten einen Bericht zu erstellen, generieren würde das Konto #s unter der gleichen Person-ID, die erstellt wurden, <= 30 Tage von einander, und schließen Sie alle anderen. Alle benötigten Informationen sind in der gleichen Tabelle.

Zum Beispiel dieser code zieht sich eine Liste von Personen ist mit der gleichen personid, die mehr als eine Accountid und Ihrem ERSTELLUNGSDATUM:

    select accounttid, creationdate, personid from Table1 where personid in ( 
    select (personid) from Table1 group by personid having COUNT (accountid) > 1)


EXAMPLE RESULT:
    accountid   creationdate    personid
    5501624 2013-05-01  101
    5501544 2013-05-03  101
    5510220 2013-10-24  10337
    5504204 2013-06-27  10337
    5502332 2013-05-21  1047
    5502628 2013-05-28  1047
    5508844 2013-10-01  1047

Nicht wissen, wohin Sie gehen von hier aus. Ich möchte dann nehmen Sie diese Accountids und irgendwie vergleichen Creationdates für weniger als oder gleich zu einem 30-Tage-differential aber nur vergleichen, wenn die PersonIDs sind die gleichen.

  • Was meinst du genau damit meinst Account #s .... that were created <= 30 days of each other ? Sagen, es sind 4 Konten (unter der gleichen person), einen ersten Bericht erstellt am 2013-01-30, das zweite an 2013-02-28, thid man bei 2013-03-25 und vierter bei 2013-04-15. Wir können sagen, dass Sie alle <=30 days of each other, die die Datensätze, die Sie erhalten möchten ? Alle, oder die ersten beiden Datensätze aus Januar + Februar, oder vielleicht auch zwei letzten Einträge von März+april ?
  • Ja, das würde ich brauchen, um alle vier dieser account #s da jeder innerhalb von 30 Tagen von einem anderen. Zum Beispiel in deinem Beispiel sagen, es gibt 5 accounts und der 5. ein wurde geschaffen, auf der 2013-06-01-script sollte die ersten 4 aber weglassen, das Letzte, weil es nicht innerhalb 30 Tage eine andere. Und natürlich diese würden alle unter die gleiche PersonID.
InformationsquelleAutor Paris | 2013-12-04
Schreibe einen Kommentar