Jump to content

Duvida php e mysql- Não quero registos repetidos


watt
 Share

Recommended Posts

A base de dado nunca devolve valores repetidos a menos que exista um outer join e uma cláusula where "mal especificada".

devolve pois.. basta teres registos repetidos... para garantir unicidade no resultado usa-se a função de grupo unique()

por exemplo... se tens uma base de dados com os alunos de uma escola e queres saber todas as terras em que a escola tem alunos.

fazento um

SELECT local from Alunos;

ias obter uma lista infindavel com um valor para cada pessoa, muitas delas repetidas.

entao farias antes:

SELECT unique(local) from alunos;

voilá... simples? é mesmo 😛

Link to comment
Share on other sites

A base de dado nunca devolve valores repetidos a menos que exista um outer join e uma cláusula where "mal especificada".

devolve pois.. basta teres registos repetidos... para garantir unicidade no resultado usa-se a função de grupo unique()

Não tinha compreendido que neste caso havia várias entradas do mesmo registo...

Isso a acontecer, cheira-me a esturro...

por exemplo... se tens uma base de dados com os alunos de uma escola e queres saber todas as terras em que a escola tem alunos.

fazento um

SELECT local from Alunos;

ias obter uma lista infindavel com um valor para cada pessoa, muitas delas repetidas.

entao farias antes:

SELECT unique(local) from alunos;

voilá... simples? é mesmo 😛

Unique aplicado a predicados de uma cláusula select? Isso não é SQL standard pois não?

Não será antes:

  select DISTINCT local from alunos;

?

Há que ter em conta que o peso de uma cláusula distinct é bastante superior à aplicação correcta de filtros. Volto a reafirmar que, tipicamente, quando existem registos duplicados normalmente é porque há aplicação de filtros "mal especificada".

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

enganei-me...

distinct claro... looll.. obrigado... unique pode ser aplicado de inicio se não queremos evitar registos repetidos numa coluna ou num conjunto de colunas.

Completo apenas com: "no íncio" quer dizer na construção da tabela ao nível do modelo físico.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
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
 Share

×
×
  • 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.