Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Carlos Schmitz

Selecionar distintos e ordenar

Recommended Posts

Salve salve...

Estou com um problema minha query é a seguinte:

 

SELECT
	L.*,
	C.*,
	ts_rank(L.ts_address, my_query) + ts_rank(L.ts_telefone, my_query)*2 + ts_rank(L.ts_title, my_query)*3 AS rank
FROM
	listings L,
	cidade C,
	to_tsquery('palavra|para|busca') AS my_query
WHERE
	L.aprovado = 1
	AND L.publicado = 1
	AND L.region = 'UF'
	AND L.region = C.id_uf
	AND L.city = C.id_cidade
	AND L.ts_title || L.ts_adress || L.ts_telefone @@ my_query
ORDER BY
	L.destaque DESC,
	L.filial ASC, 
	L.title ASC, 
	rank DESC, 
	L.lid DESC
;

Mas não quero exibir os registros que possuam L.phone igual nem L.title igual mantendo o atual ORDER BY.

Tentei da seguinte maneira mas não deu certo:

 

SELECT
	DISTINCT ON (L.phone, L.title)
	L.*,
	C.*,
	ts_rank(L.ts_address, my_query) + ts_rank(L.ts_telefone, my_query)*2 + ts_rank(L.ts_title, my_query)*3 AS rank
FROM
	listings L,
	cidade C,
	to_tsquery('palavra|para|busca') AS my_query
WHERE
	L.aprovado = 1
	AND L.publicado = 1
	AND L.region = 'UF'
	AND L.region = C.id_uf
	AND L.city = C.id_cidade
	AND L.ts_title || L.ts_adress || L.ts_telefone @@ my_query
ORDER BY
	L.destaque DESC,
	L.filial ASC, 
	L.title ASC, 
	rank DESC, 
	L.lid DESC
;

sendo que o postgre acusa o seguinte erro.

ERRO:  expressões SELECT DISTINCT ON devem corresponder com expressões iniciais do ORDER BY

********** Erro **********

ERRO: expressões SELECT DISTINCT ON devem corresponder com expressões iniciais do ORDER BY
SQL state: 42P10

Compartilhar este post


Link para o post
Compartilhar em outros sites

Inclui L.phone no ORDER BY.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.