Zdecydowanie chcesz użyć SUBSTRING_INDEX który zwróci pewną liczbę znaków, dopóki nie zostanie osiągnięta określona liczba na podstawie wystąpienia ogranicznika. W Twoim przypadku połączenie wyglądałoby tak:
SELECT SUBSTRING_INDEX(text_field, ' ', 6) FROM ...
W szczególności zwróci to maksymalnie sześć słów gdzie definiujemy słowo jako zestaw znaków, które nie są spacjami oddzielonymi spacjami.
Uwaga :zwróci interpunkcję dołączoną do ostatniego słowa, co może być pożądane lub nie. Zastąpienie wszelkich znaków interpunkcyjnych na końcu ciągu w PHP byłoby dość proste, ale jeśli chcesz pozostać całkowicie w SQL, myślę, że możesz użyć TRIM . Składnia do tego wyglądałaby mniej więcej tak:
SELECT TRIM(TRAILING ',' FROM SUBSTRING_INDEX(text_field, ' ', 6)) FROM ...
Może istnieć lepsza opcja usunięcia końcowej interpunkcji - ale być może to kolejne pytanie (nadal szukam lepszego rozwiązania niż TRIM).