1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Deutsch
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

(MD5)-Hash ueber mehrere records

  • maciek
  • 2. Oktober 2010 um 15:41
  • Unerledigt
  • maciek
    16
    maciek
    Mitglied
    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.

    *** Make it idiot proof, and someone will build a better idiot. ***

  • damike
    8
    damike
    Mitglied
    Reaktionen
    11
    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.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung

  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  • Deutsch
  • English
Zitat speichern