a mini social media app for small communities
1CREATE OR REPLACE FUNCTION search_for_users (IN Query TEXT, IN Count INT, IN Index INT)
2RETURNS SETOF "User"
3AS $$
4 SELECT *
5 FROM "User"
6 WHERE username LIKE CONCAT('%', Query, '%') OR nickname LIKE CONCAT('%', Query, '%')
7 ORDER BY (CASE
8 WHEN username LIKE CONCAT('%', Query, '%') THEN 1
9 WHEN nickname LIKE CONCAT('%', Query, '%') THEN 2
10 END)
11 LIMIT Count OFFSET Index;
12$$ LANGUAGE SQL;