Ir para o conteúdo
spcl

group

Mensagens Recomendadas

spcl

bom dia

gostaria de saber como posso fazer para retirar o primeiro ou o ultimo dado numa query de mysql, o probema nao e bem retirar, dificil esta selecionar apenas o primeiro ou o ultime de cada grupo do group by ***

ex:

id nome id_de_ligacao_a_outra_tabela

1 asd 1

2 xpto 1

3 123 2

4 234 2

5 345 1

retirando o primeiro do grupo id_de_ligacao_a_outra_tabela ficaria com 1 asd 1 e o ultimo com 5 345 1

como posso fazer isto?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Virneto

Se percebi bem, o que pretendes é isto:

o primeiro do grupo id_de_ligacao_a_outra_tabela ficaria com 1 asd 1

SELECT id nome id_de_ligacao_a_outra_tabela FROM tabela WHERE id >0 ORDER BY id LIMIT 1;

(...) o ultimo com 5 345 1

SELECT id nome id_de_ligacao_a_outra_tabela FROM tabela WHERE id >0 ORDER BY id DESC LIMIT 1;

claro que no 'WHERE' colocas os parâmetros que te interessam.

Editado por Virneto

"Que inquieto desejo vos tortura, Seres elementares, força obscura? Em volta de que ideia gravitais?" >> Anthero de Quental

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Linuxando.com | ...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
spcl

desculpa mas eu confundi o group com agrupar dados pelo nome, nao era um group que queria fazer

queria era ordenar por id_de_ligacao_a_outra_tabela e retirar apenas o primeiro de cada id_de_ligacao_a_outra_tabela ex:

1 asd 1

2 xpto 1

3 123 2

4 234 2

5 345 1

isto ordenado por id_de_ligacao_a_outra_tabela ficaria

1 asd 1

2 xpto 1

5 345 1

3 123 2

4 234 2

o que depois eu queria fazer e tirar o primeiro ou o ultimo de cada id_de_ligacao_a_outra_tabela ex

primeiro de cada:

1 asd 1

3 123 2

ultimo de cadda:

5 345 1

4 234 2

como posso fazer isto?

Se percebi bem, o que pretendes é isto:

SELECT id nome id_de_ligacao_a_outra_tabela FROM tabela WHERE id >0 ORDER BY id LIMIT 1;

SELECT id nome id_de_ligacao_a_outra_tabela FROM tabela WHERE id >0 ORDER BY id DESC LIMIT 1;

claro que no 'WHERE' colocas os parâmetros que te interessam.

o problema e que eu queria retirar o primeiro/ultimo de cada conjunto de id_de_ligacao_a_outra_tabela

ex:

id nome id_de_ligacao_a_outra_tabela

1 asd 1

2 xpto 1

3 123 2

4 234 2

5 345 1

primeiro de cada:

1 asd 1

3 123 2

ultimo de cadda:

5 345 1

4 234 2

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Virneto

Assim derepente talvez seja mesmo com Group By:

SELECT DISTINCT id_de_ligacao_a_outra_tabela, id, nome FROM tabela GROUP BY id_de_ligacao_a_outra_tabela (...)

Se calhar também era útil criares uma uma view para poderes obter os dados que pretendes através de uma query simplificada.


"Que inquieto desejo vos tortura, Seres elementares, força obscura? Em volta de que ideia gravitais?" >> Anthero de Quental

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Linuxando.com | ...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
spcl

ja sei como posso fazer:

select locality.id_locality_locality, locality_name.id_locality_name, locality_name.id_locality_locality_name, locality_name.locality_locality_name
from locality, locality_name
where locality.id_locality_locality=locality_name.id_locality_locality_name
group by locality_name.id_locality_locality_name;

estou a usar assim porque por ex Lisboa, podemos chamar de diversas maneiras em muitas localidades "Lisboa, lisbon..."

só estava a complicar o simples

obrigado

mas dentro disto ainda tenho outro problema

eu quero ordenar as localidades que tem nomes diferentes pelo idioma do utilizador, como isto varia e podem ser criadas novas linguagens...

o que tenho nessa tabela e:

id_language_languages

language_languages

como posso fazer para ordenar, a meu ver tenho de colocar na locality_name o id da linguagem, mas como ordeno dentro do grupo para se por acaso ele pesquisar, aparecer primeiro a localidade como ele esta habituado chamar para que apareça se for pesquisada?

Editado por spcl

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.