sql >> Database >  >> RDS >> Oracle

Selecteer rijen totdat aan voorwaarde is voldaan

Gebruik een subquery om erachter te komen op welk punt u moet stoppen en retourneer vervolgens alle rijen van uw startpunt naar het berekende stoppunt.

SELECT
  *
FROM
  yourTable
WHERE
      id >= 4
  AND id <= (SELECT MIN(id) FROM yourTable WHERE b = 'F' AND id >= 4)

Let op, hierbij wordt ervan uitgegaan dat het laatste record altijd een 'F' is. U kunt omgaan met het laatste record als een 'T' met behulp van een COALESCE .

SELECT
  *
FROM
  yourTable
WHERE
      id >= 4
  AND id <= COALESCE(
              (SELECT MIN(id) FROM yourTable WHERE b = 'F' AND id >= 4),
              (SELECT MAX(id) FROM yourTable                          )
            )



  1. pgAdmin-snelkoppelingen om scripts uit te voeren

  2. Voeg een inner join toe aan de mySQL GROUP_CONCAT-instructie

  3. Hoe sla ik PHP-sessiegegevens op in een database in plaats van in het bestandssysteem?

  4. Hoe u de definitie van een berekende kolom in SQL Server kunt krijgen met behulp van T-SQL