Jump to content
spcl

group

Recommended Posts

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?

Share this post


Link to post
Share on other 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.

Edited by Virneto

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

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

Linuxando.com | ...

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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 | ...

Share this post


Link to post
Share on other 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?

Edited by spcl

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.