SQL, eine Tabelle, zwei Spalten von Daten, person
und mailbox
. Jede Person kann viele Mailboxen haben, jede Mailbox kann viele Leute haben. Ich möchte die Zahl der Menschen zu anderen Menschen durch eine Mailbox verbunden bekommen:SQL erhalten Verbindungen von einer Spalte zu sich selbst durch zweite Spalte
person | mailboxCount | aggregatePersonCount
ich ein schlechtes Gefühl haben, diese an anderer Stelle hier gelöst worden ist, aber ich kann nicht glauben, was die Terminologie sein könnte. Für all die großen, komplizierten gespeicherten Prozeduren und Abfragen, die ich geschrieben habe, stolpert mich diese einfache Zwei-Spalten-Analyse.
Tabellenstruktur:
person | mailbox
Ich habe die ersten beiden Spalten:
SELECT a.person, count(a.mailbox) mailboxCount
FROM [EmailGroupAnalysis].[dbo].[AnalysisTests] a
GROUP BY a.person
order by mailboxCount desc
Wie sind "Menschen über ihre Mailbox mit anderen Menschen verbunden" in Bezug auf Ihre Daten? Eine rekursive Lösung, die einen allgemeinen Tabellenausdruck (CTE) verwendet, kann geeignet sein. Tipp: Es ist hilfreich, Datenbankfragen mit der entsprechenden Software (MySQL, Oracle, DB2, ...) und der Version, z. 'sql-server-2014'. Unterschiede in Syntax und Funktionen beeinflussen oft die Antworten. Beachten Sie, dass 'tsql' die Auswahl einschränkt, aber die Datenbank nicht angibt. – HABO