joaocasta Posted August 25, 2012 at 09:22 PM Report Share #473492 Posted August 25, 2012 at 09:22 PM Boas noites, queria saber como posso fazer o cálculo das médias das idades do membros do meu site. Tentei isto, mas não deu. Tentei arranjar solução, mas nada de jeito: <?php include "config.php"; $sql = "SELECT ((idade)/SELECT COUNT(idade)) AS media FROM users"; $resultado = mysql_query($sql); echo $resultado; ?> Eu tentei com count pois queria saber quantas linhas há na tabela para depois puder fazer a média. Link to comment Share on other sites More sharing options...
pikax Posted August 25, 2012 at 09:39 PM Report Share #473494 Posted August 25, 2012 at 09:39 PM SELECT (SUM(idade)/COUNT(*)) as media from users Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast." Link to comment Share on other sites More sharing options...
mjamado Posted August 25, 2012 at 09:44 PM Report Share #473495 Posted August 25, 2012 at 09:44 PM Eh gente, a sério? 😄 O MySQL já tem uma função de média, AVG(). SELECT AVG(idade) AS media FROM users 1 Report "Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web. Link to comment Share on other sites More sharing options...
joaocasta Posted August 25, 2012 at 09:48 PM Author Report Share #473496 Posted August 25, 2012 at 09:48 PM Disse-me isto "Resource id #5" nas duas formas que me apresentaram. Link to comment Share on other sites More sharing options...
pikax Posted August 25, 2012 at 09:48 PM Report Share #473497 Posted August 25, 2012 at 09:48 PM Epa' esquecime completamente 😄 Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast." Link to comment Share on other sites More sharing options...
yoda Posted August 25, 2012 at 09:58 PM Report Share #473498 Posted August 25, 2012 at 09:58 PM Muda isto e depois diz o erro que aparece : mysql_query($sql) or die(mysql_error()); before you post, what have you tried? - http://filipematias.info sense, purpose, direction Link to comment Share on other sites More sharing options...
joaocasta Posted August 25, 2012 at 10:01 PM Author Report Share #473499 Posted August 25, 2012 at 10:01 PM <?php require_once "config.php"; $sql = "SELECT AVG(idade) FROM users"; $rs = mysql_query($sql) or die(mysql_error()); echo $rs; ?> tenho isto mas aparece novamente Resource id #5 Link to comment Share on other sites More sharing options...
mjamado Posted August 25, 2012 at 10:02 PM Report Share #473500 Posted August 25, 2012 at 10:02 PM Disse-me isto "Resource id #5" nas duas formas que me apresentaram. E disse bem. O resultante duma instrução mysql_query é, precisamente, um resource. Tens que usar uma das instruções do ramo mysql_fetch_* para obter um resultado usável. "Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web. Link to comment Share on other sites More sharing options...
Sr Inovação Posted August 25, 2012 at 10:56 PM Report Share #473502 Posted August 25, 2012 at 10:56 PM <?php require_once "config.php"; $sql = "SELECT AVG(idade) FROM users"; $rs = mysql_query($sql) or die(mysql_error()); echo $rs; ?> tenho isto mas aparece novamente Resource id #5 Eh gente, a sério? 😄 O MySQL já tem uma função de média, AVG(). SELECT AVG(idade) AS media FROM users @JoaoCasta: não te esqueças de usar alias"(As) Novo campo", como esta no exemplo do mjamado e,este campo ficará com os dados(neste caso a média) resultante da execução da função SQL. Link to comment Share on other sites More sharing options...
joaocasta Posted August 26, 2012 at 07:45 AM Author Report Share #473514 Posted August 26, 2012 at 07:45 AM (edited) Já consegui fazer isso, mas tenho outro problema. Como posso fazer percentagens? É que eu tenho de fazer as percentagens do estado civil, e nao sei como o fazer... se me pudessem dar uma ajuda. sff EDIT: Na base de dados o "estado_civil" está como "INT", pois tenho o estado civil numa tabela à parte. Edited August 26, 2012 at 07:51 AM by joaocasta Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted August 26, 2012 at 08:50 AM Report Share #473515 Posted August 26, 2012 at 08:50 AM não quererás saber fazer a percentagem de pessoas que tens registadas com a informação de um estado civil ? select `estado_civil`, count(`estado_civil`) / (select count(`id_user`) FROM `users`) as 'percentagem' from `users` group by `estado_civil` IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
joaocasta Posted August 26, 2012 at 09:22 AM Author Report Share #473516 Posted August 26, 2012 at 09:22 AM Sim é isso Hippo, mas o que me deste diz 1.0000.... na tabela dos membros, na coluna do "estado_civil" tenho um numero e esse numero corresponde a uma linha da tabela "estadocivilselect". Espero por ajuda. Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted August 26, 2012 at 09:23 AM Report Share #473517 Posted August 26, 2012 at 09:23 AM se diz 1.00 quer dizer que todos tem o mesmo estado civil ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
joaocasta Posted August 26, 2012 at 09:29 AM Author Report Share #473518 Posted August 26, 2012 at 09:29 AM mas por exemplo como posso fazer, queria mostrar a percentagem de pessoas que é solteira, as que sao casadas, divorciadas, viuvas.. é isso que queria tentar fazer....... Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted August 26, 2012 at 09:40 AM Report Share #473519 Posted August 26, 2012 at 09:40 AM como te disse ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
joaocasta Posted August 26, 2012 at 09:45 AM Author Report Share #473520 Posted August 26, 2012 at 09:45 AM 1 select para cada 1 estado? Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted August 26, 2012 at 10:01 AM Report Share #473522 Posted August 26, 2012 at 10:01 AM epa ... não ... o SQL já te dá a percentagem para todos os estados !!!! IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
joaocasta Posted August 26, 2012 at 10:08 AM Author Report Share #473524 Posted August 26, 2012 at 10:08 AM queria algo deste tipo só que em vez de pista, futbol, etc. é os estados civis. Link to comment Share on other sites More sharing options...
Sr Inovação Posted August 26, 2012 at 02:12 PM Report Share #473541 Posted August 26, 2012 at 02:12 PM Experimenta colocar um registo com o estado civil diferente a de casado e executa a query o HappyHippyHippo te indicou e vais perceber o que ele ja te disse epa ... não ... o SQL já te dá a percentagem para todos os estados !!!! Link to comment Share on other sites More sharing options...
joaocasta Posted August 26, 2012 at 03:49 PM Author Report Share #473545 Posted August 26, 2012 at 03:49 PM como assim? Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now