Himank Jog
Himank Jog

Reputation: 69

How to set LIMIT within a conditional statement; POSTGRESQL

I want to order the result by id in descending order and then LIMIT the number of rows obtained based on a @condition

ORDER BY id DESC
IF @condition is TRUE THEN  LIMIT 1
ELSE nothing
END IF

Upvotes: 6

Views: 7853

Answers (1)

Lukasz Szozda
Lukasz Szozda

Reputation: 175556

You could use CASE:

ORDER BY id DESC
LIMIT CASE WHEN @condition THEN 1 END;

DBFiddle Demo

LIMIT NULL is the same as omitting the LIMIT clause

Upvotes: 12

Related Questions