2017-03-19 4 views
0

Ich habe eine MySQL DB (die in alphabetischer Reihenfolge sein soll), die englische Substantive und ihre entsprechenden Kategorien wie Essen, Tiere usw. enthält. Ich führe die folgende Abfrage aus damit ich aus jeder Kategorie einen bekommen kann;Gruppe nach Spalte gibt zwei Zeilen mit dem gleichen Wert zurück

SELECT english, word, category FROM dict GROUP BY category 

Das Ergebnis, das ich bekomme, ist das Folgende;

Query Result

Sein worden mich verrückt fährt jetzt, aber warum gibt es Wiederholungen der Kategorie Tiere, Formen, Schreibwaren usw., wenn ich nach Kategorien gruppieren bin?

Hilf mir bitte.

Zusätzliche Info: Wenn ich diese Abfrage ausführen;

Es gibt den Wert 1 zurück, aber wie Sie aus dem Bild sehen können, sollte es mehr als eins zurückgeben. Warum sind zwei Wörter, die genau gleich aussehen, d. H. "Tiere", unterschiedlich?

+0

MySQL-Datenbanktabellen sind Teil einer relationalen Datenbank. Diese Tabellen haben keine Reihenfolge. –

+0

Vielleicht haben einige Kategorien Leerzeichen vor oder nach dem Wort? Versuchen Sie Folgendes: 'SELECT COUNT (*) FROM dict WHERE Kategorie LIKE '% Animals%'. –

+0

Verdammt, du hast Recht. Deine Abfrage gibt 2 zurück. Aber ich verstehe nicht, dass kein Platz sichtbar ist, ich meine, zumindest wenn man einen Cursor benutzt und die ganze Sache auswählt. – Anas

Antwort

0

Dank @KIKO Software. In einigen Kategorien schien eine Art unsichtbarer Charakter zu sein. Es wurde mit der TRIM-Funktion behoben.

UPDATE dict SET category = TRIM(category) 
Verwandte Themen