Eu tenho essa tabela simples e registros de usuário.
Eu só quero que os usuários com ilike ou outra coisa consigam uma ordem melhor no PostgreSQL 10.12.
CREATE TABLE users(
ID INT PRIMARY KEY NOT NULL,
username CHAR(50) NOT NULL
);
INSERT INTO users (id, username) VALUES(1,'mandela');
INSERT INTO users (id, username) VALUES(2,'delpiero');
INSERT INTO users (id, username) VALUES(3, 'gondela');
INSERT INTO users (id, username) VALUES(4, 'del');
INSERT INTO users (id, username) VALUES(5, 'dell');
INSERT INTO users (id, username) VALUES(6, 'andel');
Quando eu consulto "del", quero obter o usuário "del" cujo id é 4 em primeiro lugar. tudo bem com pedidos por comprimento. Mas ainda não é o que eu quero. A ordem deve ser assim. A segunda ordem deve ser "dell", a terceira ordem deve ser "delpiero", a quarta "andel", a quinta "gondela" e a sexta "mandela".
select * from users where username ilike '%del%' order by length(users.username) asc;