webForumDet fria alternativet

Högst tre id av samma?

Databaser & SQL

5 svar · 508 visningar · startad av inspiro

Medlem sedan sep. 2005673 inlägg
Frågan#1

Om man har en kolumn som innehåller ett gäng med ID, hur gör man då för att se till så att samma ID kommer med högst tre gånger? Alltså "1,1,1,1,1,2,2,2,2,3,4,4" ska bli "1,1,1,2,2,2,3,4,4"...

Medlem sedan dec. 19995 874 inlägg
#2

Är det en kommaseparerad sträng, eller är det en kolumn med poster som upprepar sig?

Har du fler kolumner i tabellen?

Medlem sedan dec. 19996 721 inlägg
#3

Om man har flervärdesdata lagrade i en kolumn så är man i 99,99% av fallen fel ute. Börja med att bryta ut denna data till en egen tabell, med ett värde per kolumn.

Medlem sedan sep. 2005673 inlägg
#4

Näe, det är ett id enskilt i varje, ingen array. Men samma id kan förekomma fler gånger så jag skulle vilja ha ut det maximalt 3 gånger om det går? Det är fler andra kolumner också.

Medlem sedan dec. 19995 874 inlägg
#5

Vilka mer kolumner har du, specificera gärna både namn, datatyp och vad det används för.
Spelar det någon roll vilka tre poster som väljs (om det finns fler än tre)?

Medlem sedan maj 20011 312 inlägg
#6

Detta borde fungera. Col1, Col2 m.m. är kolumner i din tabell.

Select ID, Col1, Col2
FROM tbl_X
GROUP BY ID, Col1, Col2
HAVING Count(ID) <= 3
246 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
116 ms — deklarationer (db)
0 ms — hämta statistik (cache)
120 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)