Moi.
Onko mahdollista mysql kyselyn avulla rajoittaa sanojen määrää?
Esim. teen kyselyn missä tietty kenttä on rajattu niin, että näytetään sanat 2-15.
Ymmärsinkö nyt oikein? Haluat siis näyttää esim. 30 sanaa omaavasta lauseesta vain sanat 2-15?
punppis kirjoitti:
Ymmärsinkö nyt oikein? Haluat siis näyttää esim. 30 sanaa omaavasta lauseesta vain sanat 2-15?
Kyllä. Näin juuri.
Ei ole kokemusta, mutta näin äkkiseltään löytyi jotain tuollaista.
SELECT SUBSTRING_INDEX( SUBSTRING_INDEX(myfield, ' ', 15), ' ', -13) FROM mytable;
Kentän nimi on siis 'myfield'.
substring_index()
Kysely tietysti edellyttää, että sanoja on vähintään se viisitoista, muuten myös ensimmäiset kaksi sanaa tulevat mukaan.
SELECT SUBSTRING_INDEX( SUBSTR( myfield, LOCATE(' ', myfield, LOCATE(' ', myfield)+1)+1 ), ' ', -13 ) FROM mytable;
Tuossa vielä versio, joka toimii vähempisanaisilla stringeilläkin.
E: Ajattelin sitten näemmä nollaindeksoituja sanoja, no eniveis.
Aihe on jo aika vanha, joten et voi enää vastata siihen.