Betrachtet man diese Werte in separaten Spalten sind mit einer UNPIVOT
Abfrage die Lösung wie etwas aussehen würde. ....
Testdaten
Declare @T table (ID INT , Col1 varchar(1) , Col2 varchar(1) , Col3 varchar(1)
, Col4 varchar(1) , Col5 varchar(1) , Col6 varchar(1) , Col7 varchar(1))
Insert Into @T values
('1','a','d','a','a','c','a','b'),
('2','b','a','c','b','b','b','d'),
('3','h','a','h','h','b','c','d'),
('4','d','d','c','h','g','p','m'),
('5','e','e','g','h','d','e','h');
Abfrage
WITH X AS (
Select ID , Val, COUNT(*)total
,ROW_NUMBER() OVER (PARTITION BY ID ORDER BY COUNT(*) DESC) rn
from @T
UNPIVOT (Val FOR N IN (Col1,Col2,Col3,Col4,Col5,Col6,Col7))up
GROUP BY ID , Val
)
Select t.* , Val
FROM X
INNER JOIN @T t ON x.ID = t.ID
WHERE rn = 1
Ergbnisssatzes
+----+------+------+------+------+------+------+------+-----+
| ID | Col1 | Col2 | Col3 | Col4 | Col5 | Col6 | Col7 | Val |
+----+------+------+------+------+------+------+------+-----+
| 1 | a | d | a | a | c | a | b | a |
| 2 | b | a | c | b | b | b | d | b |
| 3 | h | a | h | h | b | c | d | h |
| 4 | d | d | c | h | g | p | m | d |
| 5 | e | e | g | h | d | e | h | e |
+----+------+------+------+------+------+------+------+-----+
Sind die Werte in verschiedenen Spalten? – jarlh
Fügen Sie die tatsächliche Tabellenstruktur mit einigen Beispieldaten hinzu. – iamdave
Ist es eine einzelne Varchar-Spalte mit Werten wie "A d a a c a b"? Wenn Sie mehrere Spalten haben, sollten Sie überlegen, sie zu refixieren. Erstellen Sie eine weitere Tabelle, die über einen Fremdschlüssel verknüpft ist und einen Datensatz pro Spalte enthält. Dieser Prozess wird als Datenbanknormalisierung bezeichnet und ist wichtig, um solche Aufgaben zu vereinfachen oder solche Abfragen effizienter zu machen. –