mysql - Wählen Sie die meisten Zeichen

8

Ich weiß nicht, welche Funktion das heißt, aber ich versuche eine Zeile auszuwählen, die den meisten Zeichen für die Ausgabe entspricht. Hier ist, was ich versucht habe.

%Vor%

Das obige funktioniert nur für das gesamte Wort: alotofcharactershere

Was ich wirklich will, ist, dass es es kaputt macht: a l t o f f e h r e n d e r N e h m e n und finde eine Zeile mit den meisten passenden Zeichen.

Bitte helfen Sie, wenn Sie wissen, wovon ich spreche. Vielen Dank im Voraus.

    
thevoipman 04.08.2012, 15:22
quelle

2 Antworten

1

Ich habe herumgegraben und bin kein SQL-Experte, aber ich dachte über die Reihenfolge nach Zeichenlänge nach einem Ersatz von Zeichen nach, die nicht übereinstimmen.

Etwas wie: SELECT * FROM your_table ORDER BY LENGTH(REGEXP_REPLACE(title, '[^abcdefg]', ''));

2 Probleme obwohl. Es passt nicht zu den unterschiedlichsten gefundenen Zeichen. Also wird aaaa von höherem Wert sein als abc. Und ich denke, du meinst, du willst, dass abc von höherem Wert ist. 2. Problem ist wahrscheinlich das größte, mySQL unterstützt diese Regex nicht. Und nicht sicher, dass irgendetwas tut. Aber ich fand diesen Artikel: Ссылка

Obwohl ich denke, dass es etwas viel Einfacheres geben muss und etwas, das eigentlich aus der Box heraus funktioniert, könnte diese Antwort nur dazu führen, dass jemand denkt, aus der Box zu denken.

Es könnte auch eine Lösung mit vielen Joins geben, aber das ist wahrscheinlich langsamer als alles auszuwählen und in php (oder ähnlich) zu sortieren

    
René 04.08.2012 16:04
quelle
1

Es ist nicht klar, was Sie zu erreichen versuchen, also frage ich mich, ob Sie in Volltextsuche . Die Möglichkeit, Relevanz zu finden, könnte Ihnen einige Ideen oder Alternativen geben.

    
GDP 05.08.2012 01:11
quelle

Tags und Links