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

564

    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. Oletko kertonut jo muille tunteistasi?

      Ystävillesi esimerkiksi? Minä en ole vielä kertonut kenellekään tästä meidän jutusta.
      Ikävä
      77
      4612
    2. Olisin ottanut sinusta akan itselleni

      Mutta olitkin aika itsepäinen ja hankala luonne.
      Ikävä
      180
      1887
    3. Ei sua pysty unohtamaan

      Ei vaan yksinkertaisesti pysty
      Ikävä
      124
      1580
    4. Kerro todelliset motiivit

      kaivattuasi kohtaan?
      Ikävä
      123
      1110
    5. Hei, huomenta komistus

      Yllättääkö, että olet heti mielessä. Mukavaa päivää upea ❤️
      Ikävä
      35
      1036
    6. Miten minusta tuntuu että kaikki tietää sun tunteista mua kohtaan

      Paitsi suoraan minä itse, vai mitä hlvettiä täällä tapahtuu ja miksi ihmiset susta kyselee minulta 🤔❤️
      Ikävä
      16
      1031
    7. Sunnuntain terveiset kaivatulle

      Mitä ajattelet hänestä tänään? Mitä haluaisit sanoa hänelle?
      Ikävä
      78
      933
    8. Miks et tahtonut

      Enää nähdä? Haluaisin ymmärtää
      Ikävä
      52
      886
    9. Hyvää huomenta!

      Mietin miten suhtaudut minuun, jos kerron tunteista. Voinko enää sen jälkeen olla samassa paikassa kanssasi, jos koet as
      Ikävä
      78
      862
    10. Mulla on tarkat korvat

      Kuulin sun äänen ihan selvästi.
      Ikävä
      4
      828
    Aihe