1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

(MD5)-Hash ueber mehrere records

  • maciek
  • 2. Oktober 2010 um 15:41
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • maciek
    Punkte
    2.805
    Beiträge
    434
    • 2. Oktober 2010 um 15:41
    • #1

    Ich ueberlege gerade wie ich folgendes Problem loesen soll: Ich brauche eine Funktion, die fuer eine ausgewaehlte Anzahl von Parametern ermittelt, ob die restlichen Spalten (als Set gesehen) genau gleich sind. Wobei es auch auf die Sequenz ankommt.

    Also zB:

    Code
    Kunde  Tag    ProduktGekauft
    K1     T1     P1
    K2     T1     P2
    K3     T1     P1
    K4     T1     P1
    K1     T2     P2
    K2     T2     P1
    K3     T2     P2
    K4     T2     P2
    K4     T3     P3

    In diesem Scenario waere das Kaufverhalten nur von Kunde K1 und K3 gleich (K2 hat die Produkte in der falschen Reihenfolge gekauft, und K4 hat auch am Tag3 Produkt3 gekauft.

    Meine Loesung waere folgende:

    • GROUP BY Kunde
    • ORDER BY Tag
    • Concat & Hash die Produkte (in der richtigen Reihenfolge)

    Es gibt zu dem Thema paar Loesungsansaetze (ich brauch das ganze in MSSQL):

    • http://stackoverflow.com/questions/6899…rows-from-a-sub
    • http://www.ialpine.net/post/MS-SQL-Me…to-one-row.aspx
    • http://stackoverflow.com/questions/9472…-pivot-in-t-sql
    • http://www.sqlprof.com/blogs/sqldev/a…-2005-2008.aspx

    Das Problem mit PIVOT, XMLPATH, etc. ist, dass die Anzahl der Kunden und Tage variabel ist.

    Ausser einer stored procedure, die in etwa so funktionieren koennte hab ich keine viel besseren Ideen:

    SQL
    SELECT Kunde, GetSetHash(Produkt, Tag) AS Hash
    FROM Kaufverhalten
    GROUP BY Kunde

    Wobei GetSetHash(HashSource, OrderBy) ein char(32) = MD5 hash zurueckliefert. HashSource und OrderBy sollten eine beliebige Anzahl von Spalten sein koennen.

    Hat jemand eine bessere Idee? Wie gesagt, MSSQL ist vorgegeben.

  • damike
    Punkte
    681
    Beiträge
    111
    • 2. Oktober 2010 um 18:26
    • #2

    Leider kann ich dir keine konkrete Antwort geben - aber hast du dir schon mal die Analysis Funktionen angeschaut?
    http://msdn.microsoft.com/en-us/library/ms175462.aspx

    Zitat

    By using the Microsoft Sequence Clustering algorithm on this data, the company can find groups, or clusters, of customers who have similar patterns or sequences of clicks. The company can then use these clusters to analyze how users move through the Web site, to identify which pages are most closely related to the sale of a particular product, and to predict which pages are most likely to be visited next.

  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum