Bereiche
News
Rewind
Tipps & Berichte
Forum
Galerie
Journals
Events
Umfragen
Themenwoche
Kleinanzeigen
Interaktiv
Anmelden
Registrierung
Zu allen empfangenen Nachrichten
Suche...
Zur erweiterten Suche
Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum
>
Entwickler
>
MSSQL: Innerhalb einer Gruppe hochzählen
MSSQL: Innerhalb einer Gruppe hochzählen
Christoph_M
01.12.11
00:40
Moin,
ich habe eine Tabelle in der 2 Spalten (questionName und splitterIdentifier) jeweils eine Gruppe definieren.
D.h. SELECT distinct questionName, splitterIdentifier FROM foobar
liefert mir alle vorhanden Gruppen.
Innerhalb dieser Gruppen gibt es zwischen 1 und n Einträgen. Also mehrere Einträge können die gleiche questionName/splitterIdentifier Kombination haben.
Jetzt möchte ich in einer zusätzliche Spalte innerhalb jeder Gruppe hochzählen. Die Sortierung ist dabei egal.
Ich dachte sowas könnte man mit partition by machen, habe das aber in MSSQL nicht hinbekommen.
Hat jemand irgendwelche Ideen oder Denkanstöße?
Danke schonmal und viele Grüße,
Christoph
Hilfreich?
0
Kommentare
uhu
01.12.11
03:57
Vielleicht hilf das hier weiter "How do I return row numbers with my query?":
CREATE TABLE #teams
(
city VARCHAR(20),
team VARCHAR(20)
)
SET NOCOUNT ON
INSERT #teams SELECT 'Boston', 'Celtics'
INSERT #teams SELECT 'Boston', 'Bruins'
INSERT #teams SELECT 'Boston', 'Red Sox'
INSERT #teams SELECT 'New York', 'Yankees'
INSERT #teams SELECT 'New York', 'Mets'
INSERT #teams SELECT 'New York', 'Knicks'
INSERT #teams SELECT 'New York', 'Rangers'
INSERT #teams SELECT 'New York', 'Islanders'
INSERT #teams SELECT 'New York', 'Jets'
INSERT #teams SELECT 'New York', 'Giants'
INSERT #teams SELECT 'Chicago', 'Black Hawks'
INSERT #teams SELECT 'Chicago', 'Cubs'
INSERT #teams SELECT 'Chicago', 'White Sox'
INSERT #teams SELECT 'Chicago', 'Bears'
INSERT #teams SELECT 'New England', 'Patriots'
SELECT city, team, rank =
(
SELECT COUNT(*)
FROM #teams t2
WHERE t2.city = t1.city
AND t2.team <= t1.team
)
FROM #teams t1
ORDER BY city, team
DROP TABLE #teams
Result
city team rank
------------ ------------ ----
Boston Bruins 1
Boston Celtics 2
Boston Red Sox 3
Chicago Bears 1
Chicago Black Hawks 2
Chicago Cubs 3
Chicago White Sox 4
New England Patriots 1
New York Giants 1
New York Islanders 2
New York Jets 3
New York Knicks 4
New York Mets 5
New York Rangers 6
New York Yankees 7
Hilfreich?
0
Christoph_M
02.12.11
23:46
Super, vielen Dank, dass funktioniert!
Hilfreich?
0
Kommentieren
Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.