Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [MySQL] first(column) e last(column)

    Ciao a tutti,

    in MySQL (versione 4.0.18) esistono le funzioni first(column) e last(column)??? Io sono convinto di si...ma non riesco a farle funzionare!!! Probabilmente devo utilizzare qualche group by, ma ottengo sempre errore. Se qualcuno mi può dare qualche consigli, esempi ecc.ecc. grazie mille!
    -TOOL-
    It's not enough, i need more, i don't want it, I just need it, to breathe, to feel, to know I'm alive.

  2. #2

    Re: [MySQL] first(column) e last(column)

    Originariamente inviato da ToolMayNARD
    Ciao a tutti,

    in MySQL (versione 4.0.18) esistono le funzioni first(column) e last(column)??? Io sono convinto di si...ma non riesco a farle funzionare!!! Probabilmente devo utilizzare qualche group by, ma ottengo sempre errore. Se qualcuno mi può dare qualche consigli, esempi ecc.ecc. grazie mille!
    first e last.... l'unica che mi viene in mente e' l'uso con alter table per inserire/spostare una colonna in una data posizione prima, dopo altre.... ma non e' una funzione.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    non ho ben capito cosa cerchi di trovare, vuoi sapere qual'è il primo e l'ultimo campo della tabella?

  4. #4
    First(column) dovrebbe restituire il primo record della colonna indicata come parametro, mentre Last(column) l'ultimo record. Non sono funzioni standard SQL.
    -TOOL-
    It's not enough, i need more, i don't want it, I just need it, to breathe, to feel, to know I'm alive.

  5. #5
    Ma cercare sul manuale .... :quipy: , www.mysql.com
    Windoz XP è un evento statistico, quindi il fatto che funzioni è un'evento del tutto casuale

  6. #6
    Ovvimante e' la prima cosa che ho fatto cercare sulla documentazione di MySQL... :quipy:
    E anche in rete non sono riuscito a tirare fuori nulla fuorchè la sintassi delle due istruzioni.
    Vabè proverò a tirare fuori i valori che mi servono in altro modo.
    -TOOL-
    It's not enough, i need more, i don't want it, I just need it, to breathe, to feel, to know I'm alive.

  7. #7
    Originariamente inviato da ToolMayNARD
    First(column) dovrebbe restituire il primo record della colonna indicata come parametro, mentre Last(column) l'ultimo record. Non sono funzioni standard SQL.
    Avevo perso la tua risposta precedente....

    L'indicazione column e' chiaramente riferita alle colonne e non alle righe o tuple che dir si voglia. Quindi prima o ultima colonna ... ammesso ma non concesso si possa fare....

    Una select per estrarre il primo ed ultimo valore, inoltre non e' chiara. vuoi la prima ed ultima riga di una tabella oppure il valore maggiore e quello minore di una colonna?

    Nel caso dell'ultima ipotesi utilizza le funzioni MIN() e MAX() nella select.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    Mh vediamo... forse è meglio che spieghi cosa devo fare, magari riuscite a risolvere il problema. Io ancora non ci sono riuscito.
    Ho una tabella che contiene i seguenti campi (in realtà sono anche altri campi, ma non servono per ciò che cerco di fare ora): Ip, SessionId, Date, Time, Url. La coppia Ip e SessionId mi identifica una sessione. Quello che cerco io è, per ogni sessione, il primo e l'ultimo valore che compare nel sottoinsieme della tabella del campo url. Url è una stringa e quindi non ha senso applicare le funzioni MIN() e MAX(). Potrei però applicare MIN e MAX su date e time e quindi a seconda di quei valori estrarre gli url cercati. Il problema è che non so proprio come fare. Finchè si tratta di fare query semplici non ho assolutamente problemi, ma una volta che entrano in gioco query annidate mi perdo (e meno male che SQL è un linguaggio dichiarativo...).
    Un ulteriore step è trovare anche il numero totale (COUNT...) di volte che compaiono nella tabella gli URL cercati.
    Grazie a chi mi aiuterà! Io ci lavoro su ancora... a furia di provare arrivero ad una soluzione.
    -TOOL-
    It's not enough, i need more, i don't want it, I just need it, to breathe, to feel, to know I'm alive.

  9. #9
    non ho capito al meglio.... mi sfugge il primo e ultimo valore dell'URL. Come appunto dici essendo una stringa primo e ultimo si riferirebbe ad un sort e nulla piu'.
    Quello che cerco io è, per ogni sessione, il primo e l'ultimo valore che compare nel sottoinsieme della tabella del campo url.
    Ammettiamo che il primo ed ultimo valore siano riferiti alla data-ora di collegamento.

    SELECT *, MIN(data) as primo, MAX(data) as ultimo
    FROM tabella
    where CONCAT(ip,sessionId) = CONCAT('$ip','$sessionId')

    oppure se non sai ip e sessionId:

    SELECT *, MIN(data) as primo, MAX(data) as ultimo
    FROM tabella
    GROUP BY CONCAT(ip,sessionId)

    il tutto con riserva di aver ben compreso il quesito.

    Come ben saprai i dati di min() max() li troverai nella colonna alias.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.