Order by ???

Mysql...

Jos hakee tietokannasta tekstihaulla (match) niin onko mahdollista järjestää hakutulokaset jotenkin järkevästi? Että ensin tulisivat täydelliset osumat ja sitten kaikki muu?

Esi jos hakee sanalla "uskomaton" ja vaihtoehdot ovat:

aika uskomaton
melko uskomaton
uskomaton
uskomaton juttu

Niin saako hakutulokset jotenkin "orderoitua" niin että ensin tulisi hakutulos "uskomaton" ja sen jälkeen kaikki muut aakkosjärjestyksessä?

3

571

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • tohlo

      Ehkä jotenkin näin unionin avulla:

      select teksti, 1 as tarkkuus, muut_kentät
      from foobar
      where teksti = 'uskomaton'
      union
      select teksti, 10 as tarkkuus, muut_kentät
      from foobar
      where teksti like '%uskomaton%'
      order by tarkkuus;

      Noita unionin osia voit nyt lisätä tarpeen mukaan useampiakin, esim. %-merkki vain lopussa olisi tarkkuus = 2, %-merkki vain alussa olisi tarkkuus = 3, %-merkki jokaisen sanavälin kohdalla olisi tarkkuus = 4, jne.

      Toinen vaihtoehto on tehdä sql-funktio tai vastaava, joka annetuista kahdesta merkkijonosta jollakin algoritmilla päättelee niiden samuuden esim. prosentteina 0-100 %. Näin voinet järjestää lopullisen hakutuloksen tämän perusteella.

    • miimir

      *Aiheen hyväksikäyttö*

      Otsikko kertoo kaiken, eli pitäisi saada järjestettyä tulokset neljännen kirjaimen perusteella. Miten tuo onnistuu?

      Tähän tyyliin:
      113A
      111B
      112C

      • I.Proqatlis

        SELECT * FROM mun_taulu ORDER BY SUBSTR(mun_tekstikentta, 4, 1);


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Ensi kesänä

      Näin kesän viimeisenä minuutteina ajattelen sinua. Olisiko seuraava kesä "meidän" kesä? Tänä vuonna ei onnistuttu, mutta
      Ikävä
      70
      3550
    2. Anne Kukkohovin karmeat velat ovat Suomessa.

      Lähtikö se siksi pois Suomesta ? Et on noin kar? mean suuret velat naisella olemassa
      Kotimaiset julkkisjuorut
      148
      3503
    3. Tukalaa kuumuutta

      Tietäisitpä vaan kuinka kuumana olen käynyt viime päivät. Eikä johdu helteestä, vaan sinusta. Mitäköhän taikoja olet teh
      Ikävä
      46
      3322
    4. Sinä, ihastukseni

      Mitä haluaisit tehdä kanssani ensimmäisenä?
      Ihastuminen
      53
      2769
    5. Tiedät ettei tule toimimaan.

      Mielenterveys ei kummallakaan kestä.
      Ikävä
      32
      2036
    6. Okei, myönnetään,

      Oisit sä saanut ottaa ne housutkin pois, mutta ehkä joskus jossain toisaalla. 😘
      Ikävä
      30
      1962
    7. Et siis vieläkään

      Et ilmeisesti ole vieläkään päässyt loppuun asti mun kirjoituksissa täällä. Kerro ihmeessä sit, kun valmista 😁 tuskin k
      Ikävä
      40
      1695
    8. Onko kaivatullasi

      himmeä kuuppa?
      Ikävä
      48
      1676
    9. Mihin hävisi

      Mihin hävisi asiallinen keskustelu tositapahtumista, vai pitikö jonkin Hannulle kateellisen näyttää typeryytensä
      Iisalmi
      96
      1625
    10. On jo heinäkuun viimeinen päivä.

      En taida nähdä sinua koskaan.
      Rakkaus ja rakastaminen
      39
      1390
    Aihe