Mailinglisten-Archive |
Hi, so ohne weiteres funktioniert das nicht, und die folgende lösung ist ein sehr speicherintensiver workaround der nur mit großer vorsicht zu genießen ist: SELECT f.*, INSTR(f.titel,'$titel') AS virt_sortierkriterium FROM filme f WHERE f.titel LIKE '%$titel%' ORDER BY virt_sortierkriterium, f.titel die funktion INSTR gibt dir die Position eines Teilstring in einem String aus , anhand der position kannst du feststellen ob der begriff am anfang (1) oder weiter hinten (n) nach dem alias virt_sortierkriterium führst du eine erste sortierung duch. aber wie gesagt, bei größeren tabellen ist das ganze nicht besonders performancefördernd .. Markus ----- Original Message ----- From: "Christian Dassow" <c.dassow_(at)_webelefant.de> To: "mysql mailinglist" <mysql-de_(at)_lists.4t2.com> Sent: Wednesday, December 13, 2000 10:12 AM Subject: group by / order by having... > Hallo liebe ListenLeser, > > mir scheint, ich habe da so einiges noch nicht recht begrifften. Bitte > helft mir doch mal auf die Spuenge: > > Feldname: TITEL > Tabellenname: FILME > > Problem: Die Eingabe eines Suchwortes soll nach dem Vorhandensein des > Suchwortes am TITEL-Anfang sortiert werden. > > Mein sql-Ansatz in PHP3: > > SELECT TITEL FROM FILME WHERE TITEL like '%$titel%' ORDER BY FILME > HAVING TITEL LIKE '$titel%'; > > tuts leider nicht. Da ich leider dem Manual keine konkreten Angaben zu > der Benutzung von order by oder group by in Zusammenhang mit HAVING > entnehmen kann und nicht mal sicher bin, ob das ueberhaupt der richtige > Ansatz ist, bitte ich um Euren Rat in dieser Sache. THX im Voraus. > > Gruss - Christian Dassow > > --- > *** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql > --- *** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive