Ich brauche deine Hilfe.Natürliche Sortierung mit nur MySQL
Wir entwickeln ein eCommerce-Projekt für den Kunden und jetzt müssen wir Sortierung von Produkten mit natürlicher Sortierung von MySQL durchführen (Wir können nicht sortieren, indem wir Array mit PHP sortieren, indem wir natsort verwenden , weil wir faul Laden verwenden, so müssen wir nur Daten aus MySQL sortieren)
Need Lösung so etwas wie unten Beispiel (aber von MySQL)
http://php.net/manual/en/function. natsort.php
Für mehr Klarheit: das ist meine Rohdaten, die ich sortieren möchte.
INSERT INTO `sample` (`id`, `data`) VALUES (1, 'MLB-1.0-6.0-2.5'), (2, 'MLB-1.0-6.0-3'), (3, 'MLB-1.0-7.0-2'), (4, 'MLB-1.0-7.0-2.5'), (5, 'MLB-1.0-7.0-3'), (6, 'MLB-1.0-9.0-2.5'), (7, 'MLB-1.0-10.0-2'), (8, 'MLB-1.0-10.0-2.5'), (9, 'MLB-1.0-8.0-3'), (10, 'MLB-1.0-9.0-2.5'), (11, 'MLB-1.0-10.0-2'), (12, 'MLB-1.0-10.0-2.5'), (13, 'MLB-1.0-10.0-3'), (14, 'MLB-1.0-12.0-2.5'), (15, 'MLB-1.0-12.0-3'), (16, 'MLB-1.2-10.0-2'), (17, 'MLB-1.2-10.0-3'), (18, 'MLB-1.2-10.0-4'), (19, 'MLB-1.2-10.0-5'), (20, 'MLB-1.2-11.2-2'), (21, 'MLB-1.2-11.2-3'), (22, 'MLB-1.2-11.2-4'), (23, 'MLB-1.2-12.0-2'), (24, 'MLB-1.2-12.0-2.5'), (25, 'MLB-1.2-12.0-3'), (26, 'MLB-1.2-12.0-4'), (27, 'MLB-1.2-12.0-5'), (28, 'MLB-1.2-12.0-6'), (29, 'MLB-1.2-12.0-8'), (30, 'MLB-1.2-12.7-3'), (31, 'MLB-1.2-14.0-2.5'), (32, 'MLB-1.2-14.0-3'), (33, 'MLB-1.2-4.0-2.5'), (34, 'MLB-1.2-4.0-3'), (35, 'MLB-1.2-5.0-2'), (36, 'MLB-1.2-5.0-2.5'), (37, 'MLB-1.2-5.0-3'), (38, 'MLB-1.2-6.0-2'), (39, 'MLB-1.2-6.0-2.5'), (40, 'MLB-1.2-14.0-4'), (41, 'MLB-1.2-14.0-5'), (42, 'MLB-1.2-16.0-3'), (43, 'MLB-1.2-16.0-4'), (44, 'MLB-1.2-16.0-5'), (45, 'MLB-1.2-19.0-3'), (46, 'MLB-1.2-19.0-4'), (47, 'MLB-1.2-22.0-3'), (48, 'MLB-1.2-22.0-4'), (49, 'MLB-1.2-6.0-3'), (50, 'MLB-1.2-6.0-4'), (51, 'MLB-1.2-6.0-5'), (52, 'MLB-1.2-6.0-6'), (53, 'MLB-1.2-7.0-2'), (54, 'MLB-1.2-7.0-2.5'), (55, 'MLB-1.2-7.0-3'), (56, 'MLB-1.2-7.0-4'), (57, 'MLB-1.2-8.0-2'), (58, 'MLB-1.2-8.0-2.5'), (59, 'MLB-1.2-8.0-2/2.5B'), (60, 'MLB-1.2-8.0-3'), (61, 'MLB-1.2-8.0-4'), (62, 'MLB-1.2-8.0-5'), (63, 'MLB-1.2-8.0-6'), (64, 'MLB-1.2-8.0-8'), (65, 'MLB-1.2-9.0-2'), (66, 'MLB-1.2-9.0-2.5'), (67, 'MLB-1.2-9.0-3'), (68, 'MLB-1.2-9.0-4');
Das ist mein erwartetes Ergebnis nach dem Sortieren:
MLB-1.0-6.0-2.5 MLB-1.0-6.0-3 MLB-1.0-7.0-2 MLB-1.0-7.0-2.5 MLB-1.0-7.0-3 MLB-1.0-8.0-2 MLB-1.0-8.0-2.5 MLB-1.0-8.0-3 MLB-1.0-9.0-2.5 MLB-1.0-10.0-2 MLB-1.0-10.0-2.5 MLB-1.0-10.0-3 MLB-1.0-12.0-2.5 MLB-1.0-12.0-3 MLB-1.2-4.0-2.5 MLB-1.2-4.0-3 MLB-1.2-5.0-2 MLB-1.2-5.0-2.5 MLB-1.2-5.0-3 MLB-1.2-6.0-2 MLB-1.2-6.0-2.5 MLB-1.2-6.0-3 MLB-1.2-6.0-4 MLB-1.2-6.0-5 MLB-1.2-6.0-6 MLB-1.2-7.0-2 MLB-1.2-7.0-2.5 MLB-1.2-7.0-3 MLB-1.2-7.0-4 MLB-1.2-8.0-2 MLB-1.2-8.0-2.5 MLB-1.2-8.0-2/2.5B MLB-1.2-8.0-3 MLB-1.2-8.0-4 MLB-1.2-8.0-5 MLB-1.2-8.0-6 MLB-1.2-8.0-8 MLB-1.2-9.0-2 MLB-1.2-9.0-2.5 MLB-1.2-9.0-3 MLB-1.2-9.0-4 MLB-1.2-10.0-2 MLB-1.2-10.0-2.5 MLB-1.2-10.0-3 MLB-1.2-10.0-4 MLB-1.2-10.0-5 MLB-1.2-11.2-2 MLB-1.2-11.2-3 MLB-1.2-11.2-4 MLB-1.2-12.0-2 MLB-1.2-12.0-2.5 MLB-1.2-12.0-3 MLB-1.2-12.0-4 MLB-1.2-12.0-5 MLB-1.2-12.0-6 MLB-1.2-12.0-8 MLB-1.2-12.7-3 MLB-1.2-14.0-2.5 MLB-1.2-14.0-3 MLB-1.2-14.0-4 MLB-1.2-14.0-5 MLB-1.2-16.0-3 MLB-1.2-16.0-4 MLB-1.2-16.0-5 MLB-1.2-19.0-3 MLB-1.2-19.0-4 MLB-1.2-22.0-3 MLB-1.2-22.0-4
Below Lösung bereits versucht: http://skybluesofa.com/blog/how-implement-natural-sorting-mysql/ http://www.copterlabs.com/natural-sorting-in-mysql/
Bitte legen nahe, Lösungen für diesen Einsatz von MySQL.
die gut Leuten das DB-Schema Geben und Ergebnisse erwartet. –
Wir brauchen eine Lösung wie dieses Beispiel, aber mit MySQL. http://php.net/manual/en/funktion.natsort.php –