Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Selecione X linhas começando na linha Y


Se fornecermos contagem negativa no Substring_Index() função, ele contará da direita para a esquerda e nos buscará a substring à direita do delimitador.

Então, com algumas matemáticas, para obter da segunda (2) à quarta (4) linha:
SELECT 
  SUBSTRING_INDEX(
      SUBSTRING_INDEX(log_data, '\n', 4), 
      '\n',
      -(4 - 2 + 1)
      )

Da mesma forma, para as linhas 15 - 26 será:
SELECT 
  SUBSTRING_INDEX(
      SUBSTRING_INDEX(log_data, '\n', 26), 
      '\n',
      -(26 - 15 + 1)
      )

Fórmula geral para um p linha para q linha seria:
SELECT 
  SUBSTRING_INDEX(
      SUBSTRING_INDEX(log_data, '\n', q), 
      '\n',
      -(q - p + 1)
      )