ViniciusJau Postado Abril 12, 2005 Denunciar Share Postado Abril 12, 2005 e ae moçada... seguinter eu tenho esse sql:SELECT central, Operadora, MAX(QtdeCadastrosAprov), MAX(data)FROM contrdiariooperadoras WHERE mes = 'abril/05'GROUP BY central ORDER BY 'MAX(QtdeCadastrosAprov)' DESC só que ele está pegando a maior data , e o maior QtdeCadastrosAprov quando na verdade eu queria que ele pegace a maior data e o maior QtdeCadastrosAprov dessa data... opu seja acho que eu teria que coloca rum max dentro do outro ?? será qdeu pra entender ?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cyberalexxx Postado Abril 13, 2005 Denunciar Share Postado Abril 13, 2005 SELECT data, central, Operadora, MAX(QtdeCadastrosAprov) FROM contrdiariooperadoras WHERE mes = 'abril/05' AND data = (select max(data) FROM contrdiariooperadoras WHERE mes = 'abril/05') GROUP BY central ORDER BY MAX(QtdeCadastrosAprov) DESC Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ViniciusJau Postado Abril 13, 2005 Autor Denunciar Share Postado Abril 13, 2005 SELECT data, central, Operadora, MAX(QtdeCadastrosAprov) FROM contrdiariooperadoras WHERE mes = 'abril/05' AND data = (select max(data) FROM contrdiariooperadoras WHERE mes = 'abril/05') GROUP BY central ORDER BY MAX(QtdeCadastrosAprov) DESC ixe , eu já tinha tentando isso acho ele dá erro de sintaxe.... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cyberalexxx Postado Abril 13, 2005 Denunciar Share Postado Abril 13, 2005 SELECT data, central, Operadora, MAX(QtdeCadastrosAprov) FROM contrdiariooperadoras WHERE mes = 'abril/05' AND data = (select max(data) FROM contrdiariooperadoras WHERE mes = 'abril/05') GROUP BY central ORDER BY MAX(QtdeCadastrosAprov) DESC ixe , eu já tinha tentando isso acho ele dá erro de sintaxe.... simulei aki e não da erro não Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ViniciusJau Postado Abril 13, 2005 Autor Denunciar Share Postado Abril 13, 2005 simulei aki e não da erro não vamos ver se é isso mesmo... a estrutura do meu Bd está assim:tabela: contrdiariooperadoras ID CENTRAL OPERADORA DATA QTDECADASTROSAPROV 1 Apae Jaú Regina 11/04 10 2 Apae Jaú Kátia 11/04 8 3 Apae SP Jussara 11/04 25 4 Apae SP Monica 11/04 2 5 Apae Jaú Regina 10/04 9 6 Apae Jaú Kátia 10/04 8 7 Apae SP Jussara 10/04 6 8 Apae SP Monica 10/04 7 precisava pegar o ID 1 e o ID 3 que é a maior data do GROUP BY centrale dessa maior data pegar a operadora que tiver o maior QtdeCadastrosAprov ??? é isso que eu tentei fazer....se bem que eu joguei esse SQL no Mysql-Front , não rodei no codigo asp... com loop e tudo mais.....tem alguma diferença ??? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cyberalexxx Postado Abril 13, 2005 Denunciar Share Postado Abril 13, 2005 Toma ai!!SELECT id, data, Central, max(QtdeCadastrosAprov) FROM contrdiariooperadoras where data=(SELECT max(data) FROM contrdiariooperadoras) group by central order by max(QtdeCadastrosAprov) DESC Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ViniciusJau Postado Abril 13, 2005 Autor Denunciar Share Postado Abril 13, 2005 tipo você acrescentou o ID no SELECT e tirou o mes de 'abril/05' do WHEREsem esqeuma .. eu já tinha tentandu também.... erro de sintaxe Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cyberalexxx Postado Abril 13, 2005 Denunciar Share Postado Abril 13, 2005 cara eu criei uma tabela igual a sua no mysql e deu certo.Caso voce queira me manda um arquivo de dump da sua tabela toda q eu faço a simulação aki. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ViniciusJau Postado Abril 14, 2005 Autor Denunciar Share Postado Abril 14, 2005 cara eu criei uma tabela igual a sua no mysql e deu certo.Caso voce queira me manda um arquivo de dump da sua tabela toda q eu faço a simulação aki. olha só....minha tabela está ai: http://www.centraldedoacoes.com.br/contrdiariooperadoras.sql estrutura e dados, tem 28 kbse você num quiser baixar vou postar somente a estrutura,´pra você ver se foi assim que você montou:CREATE TABLE `contrdiariooperadoras` ( `num_auto` int(11) NOT NULL auto_increment, `Central` char(20) default NULL, `Operadora` char(50) default NULL, `Mes` char(50) default NULL, `Data` date NOT NULL default '0000-00-00', `QtdeCadastrosAprov` int(11) default NULL, `QtdeDoadoresNovos` int(11) default NULL, KEY `Novo índice` (`num_auto`)) TYPE=MyISAM; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cyberalexxx Postado Abril 14, 2005 Denunciar Share Postado Abril 14, 2005 já dei um dump no meu banco.Complicadinho hein!!!Vou dar uma brincada pra ver c descubro uma forma Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ViniciusJau Postado Abril 14, 2005 Autor Denunciar Share Postado Abril 14, 2005 já dei um dump no meu banco.Complicadinho hein!!!Vou dar uma brincada pra ver c descubro uma forma nossa se você achou complicado imagina eu...... to dando uma fuçada aqui e lendo o manual do mysql.... quando achar mais alguma coisa eu vou postar aqui..... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Abril 14, 2005 Denunciar Share Postado Abril 14, 2005 velho.. fazer não é dificil.. o dificil é entender o que você quer de resultado..ehehe... explica melhor a sua necessidade q a sql fica mais fácil, ok...tipo, baseado no q você mandou do mysql.. qual é o resultado esperado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ViniciusJau Postado Abril 14, 2005 Autor Denunciar Share Postado Abril 14, 2005 é complicado sim cara.... o resultado esperado é esse..:eu poreciso pegar a maior data de cara operadora de cada central até ai num tem errosó que cada central tem duas ou três operadoras, e eu queria pegar eu queria pegar a operadora que tiver o maior QtdeCadastrosAprov nesse data... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cyberalexxx Postado Abril 14, 2005 Denunciar Share Postado Abril 14, 2005 Eita trocinho chato!!Não sei se é minha cabeça q ta devagar mais ainda não consegui colocar tudo em uma instrução SQL só.Da uma olhada se o resultado q você quer é esse:pois vai q eu to tentando uma coisa e é outra.<style type='text/css'> tr { background-color: #E4EAF2; font-color: #465584; font-family:Arial; font-size:12 } .titulo { color: blue; font-size:10; font-family:verdana; font-weight:bold } </style> <% response.write"<p class='titulo'>Melhores operadoras do dia<br><br>" set objconn = Server.CreateObject("ADODB.Connection") objconn.Open "Driver={mySQL}; Server=localhost; Port=3306; Option=0; Socket=; Stmt=; Database=lcom; Uid=root; Pwd=senha;" SET RS = Server.CreateObject("ADODB.Recordset") SET RS2 = Server.CreateObject("ADODB.Recordset") sql="SELECT max(data) as dt, central FROM contrdiariooperadoras WHERE mes = 'abril/05' GROUP by central " RS.Open SQL,objconn,3,3 response.write "<br><table><tr><td>Data</td><td>Central</td><td>Operadora</td><td>Cad. aprov.</td></tr>" do while not rs.eof sql2="SELECT data, max(QtdeCadastrosAprov) as quant,central, operadora FROM contrdiariooperadoras WHERE mes = 'abril/05' and central='" & Rs("Central") & "' and data ='" & Rs("Dt") & "' group by central" RS2.Open SQL2,objconn,3,3 Do While Not RS2.EOF response.write "<tr><td>" & Rs2("data") & "</td><td>" & Rs2("central") & "</td><td>" & Rs2("operadora") & "</td><td>" & Rs2("quant") & "</td></tr>" RS2.MoveNext loop RS2.close Rs.Movenext Loop %> ai eu montei com duas sql só pra ver c é o resultado q você quer Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Abril 14, 2005 Denunciar Share Postado Abril 14, 2005 direto na sql fica complicado.. mas com looping no código, fica bem mais fácil.... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ViniciusJau Postado Abril 15, 2005 Autor Denunciar Share Postado Abril 15, 2005 é isso mesmo.... !! o problema é.... com dois sql .. como eu coloco ORDER BY !?!? posos colocar ele no sql2 ??o que faz esse 3,3RS.Open SQL,objconn,3,3 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cyberalexxx Postado Abril 15, 2005 Denunciar Share Postado Abril 15, 2005 é isso mesmo.... !! o problema é.... com dois sql .. como eu coloco ORDER BY !?!? posos colocar ele no sql2 ??o que faz esse 3,3RS.Open SQL,objconn,3,3 No order by o bicho pega, mais tenta assim no primeiro sql: sql="SELECT max(data) as dt, central FROM contrdiariooperadoras WHERE mes = 'abril/05' GROUP by central order by QtdeCadastrosAprov desc " quanto ao 3,3 é o tipo de cursor e tipo de trava do recordset, maiores detalhes em:http://scriptbrasil.com.br/forum/index.php?showtopic=46452 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ViniciusJau Postado Abril 15, 2005 Autor Denunciar Share Postado Abril 15, 2005 hum... no sql 1 num deu certo ele exibiu os resutlados como se não tivece o ORDER BYeu perguntei daquela trava do recordset porque tinha testado no sql2 e ele deu esse erro:Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)O driver ODBC não oferece suporte para as propriedades solicitadas./teste/002_2.asp, line 19 bem naquela linha..... se bem que esse erro deu qunado eu coloquei Order by MAX(QtdeCadastrosAprov) mais de qualquer forma eu vou testando aqui , vamos ver o que dá Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
ViniciusJau
e ae moçada... seguinter eu tenho esse sql:
só que ele está pegando a maior data , e o maior QtdeCadastrosAprov
quando na verdade eu queria que ele pegace a maior data e o maior QtdeCadastrosAprov dessa data... opu seja acho que eu teria que coloca rum max dentro do outro ??
será qdeu pra entender ??
Link para o comentário
Compartilhar em outros sites
17 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.