Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wählen Sie X Zeilen beginnend bei Zeile Y aus

Wenn wir eine negative Zählung angeben im Substring_Index() Funktion wird von rechts nach links gezählt und die Teilzeichenfolge rechts vom Trennzeichen abgerufen.

Also, mit etwas Mathematik, um die zweite (2) bis vierte (4) Zeile zu bekommen:

SELECT 
  SUBSTRING_INDEX(
      SUBSTRING_INDEX(log_data, '\n', 4), 
      '\n',
      -(4 - 2 + 1)
      )

In ähnlicher Weise wird es für die Zeilen 15 - 26 sein:

SELECT 
  SUBSTRING_INDEX(
      SUBSTRING_INDEX(log_data, '\n', 26), 
      '\n',
      -(26 - 15 + 1)
      )

Allgemeine Formel für ein p Linie zu q Zeile wäre:

SELECT 
  SUBSTRING_INDEX(
      SUBSTRING_INDEX(log_data, '\n', q), 
      '\n',
      -(q - p + 1)
      )