Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 12 su 12
  1. #11
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    302
    Quote Originariamente inviata da optime Visualizza il messaggio
    è lo stesso della COUNT()

    Niente da fare l'ho riscritta in questo modo, ma la prima cosa che noto è che la query seleziona anche
    gli interventi che hanno un COUNT pari a 1, poi l'ordinamento per data non viene eseguito e altra cosa estrae la data del primo intervento eseguito dal cliente.

    Ad esempio ho trovato un cliente che ha eseguito in totale di 11 interventi, mi ha mostrato nel campo data 23/04/2015 ovvero data del primo intervento e non dell'ultimo

    codice:
    SELECT cliente,marca,modello,seriale,
    DATE_FORMAT(MAX(data),'%d/%m/%Y') AS 'Data ultimo intervento', COUNT(*) AS 'Numero Interventi',
    SUM(totale) AS Incasso, COUNT(*) AS 'Interventi gestiti'  
    FROM tabella 
    WHERE data <= NOW() -INTERVAL 12 month GROUP by seriale HAVING MAX(data) HAVING COUNT(*) >= 5 
    ORDER BY data DESC
    sto impazzendo con la costruzione di questa query.
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

  2. #12
    codice:
    SELECT 	cliente,
    	marca,
    	modello,
    	seriale,
    	DATE_FORMAT(MAX(data),'%d/%m/%Y') AS 'Data ultimo intervento', 
    	COUNT(*) AS 'Numero Interventi',
    	SUM(totale) AS Incasso, 
    	COUNT(*) AS 'Interventi gestiti'  
    FROM 
    	tabella 
    GROUP BY
    	seriale 
    HAVING 
    	MAX(data) <= NOW() -INTERVAL 12 month
    	AND COUNT(*) >= 5 
    ORDER BY 
    	data DESC
    sei sicuro del group by seriale? non era per cliente?

    P.S. la query l'ho scritta al buio, provala

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2021 vBulletin Solutions, Inc. All rights reserved.