Segunda-feira, 8 de Fevereiro de 2010
Antes ainda de analisarmos o problema do chmod e as suas múltiplas soluções, eis um problema relativamente simples de SQL.
Tomemos como exemplo a seguinte tabela, onde anotamos quanto dinheiro emprestamos a cada pessoa, sendo que já emprestamos dinheiro mais que uma vez a algumas pessoas:
| nome | valor |
|--------------|
| josé | 20 |
| joão | 10 |
| rui | 5 |
| pedro | 3 |
| josé | 5 |
| pedro | 10 |
| luís | 25 |
|--------------|
Tendo por base esta tabela, o problema consiste em escrever várias queries SQL para:
- Descobrir quanto dinheiro emprestaste no total.
- Descobrir quanto é que cada pessoa te deve.
- Descobrir quais as pessoas a quem emprestaste dinheiro mais que uma vez.
- Seleccionar os nomes das pessoas a quem emprestaste dinheiro, numa só linha, separados por vírgula.
Para quem quiser tentar responder a este problema sugere-se a criação da tabela e o teste das queries no computador.
De vaca anonima a 8 de Fevereiro de 2010 às 11:13
1) select sum(valor) from guito;
2) select nome,sum(valor) from guito group by nome;
3) select nome,count(valor) from guito where count(valor) > 1 group by nome
4) ?? qual é o dialecto
De
mwm a 8 de Fevereiro de 2010 às 13:50
A tua query 3 está mal.
select nome,count(valor) from guito where count(valor) > 1 group by nome
deveria ser
select nome, count(valor) from guito group by nome having count(nome) > 1
De Paulo Costa a 8 de Fevereiro de 2010 às 11:56
As soluções são seguintes:
1. SELECT SUM(valor) FROM tabela
2. SELECT nome,sum(valor) FROM tabela GROUP BY nome
3. SELECT nome FROM tabela GROUP BY nome HAVING count(nome) > 1
4. SELECT GROUP_CONCAT(DISTINCT nome) FROM tabela
De
Manu a 19 de Maio de 2010 às 10:16
Tinha tido um problema similar e um colega ajudou-me.
Agora já não me lembra e como fiz.
Manu (http://www.blog-football.net/)
Comentar post