Ir para conteúdo
Fórum Script Brasil
  • 0

Max Do Max


ViniciusJau

Pergunta

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 ?? blink.gif

Link para o comentário
Compartilhar em outros sites

17 respostass a esta questão

Posts Recomendados

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

Link para o comentário
Compartilhar em outros sites

  • 0
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

Link para o comentário
Compartilhar em outros sites

  • 0

simulei aki e não da erro não

ohmy.gif

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 central

e 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 ???

Link para o comentário
Compartilhar em outros sites

  • 0

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 kb

se 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;

Link para o comentário
Compartilhar em outros sites

  • 0
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.... dry.gif

quando achar mais alguma coisa eu vou postar aqui.....

Link para o comentário
Compartilhar em outros sites

  • 0

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

Link para o comentário
Compartilhar em outros sites

  • 0

é complicado sim cara.... o resultado esperado é esse..:

eu poreciso pegar a maior data de cara operadora de cada central

até ai num tem erro

só 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...

Link para o comentário
Compartilhar em outros sites

  • 0

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

Link para o comentário
Compartilhar em outros sites

  • 0
é isso mesmo.... !! tongue.gif

o problema é.... com dois sql .. como eu coloco ORDER BY !?!? posos colocar ele no sql2 ??

o que faz esse 3,3

RS.Open SQL,objconn,3,3

sad.gif

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

Link para o comentário
Compartilhar em outros sites

  • 0

hum... no sql 1 num deu certo ele exibiu os resutlados como se não tivece o ORDER BY

eu 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á

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...