Visualizzazione dei risultati da 1 a 8 su 8

Discussione: differenza tra 2 date

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    34

    differenza tra 2 date

    Ciao ragazzi

    allora il db è mysql
    il suggerimento che vi chiedo: come faccio a raggruppare dei record in base alla differenza di data (timestamp)

    Esempio
    SELECT * from tabella GROUP BY data (dove la differenza dei timestamp è < di 7000)


    praticamente se 2 record hanno una differenza di 6000 si devono vedere come un unico risultato se invece è 8000 come 2 risultati diversi

    E ancora più complesso è possibile sapere quanti record sono stati raggruppati?


    Spero di essermi spiegato e grazie mille a tutti!!!!!!!!

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Differenza rispetto a cosa?
    Puoi postare qualche record di esempio?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    34
    Originariamente inviato da nicola75ss
    Differenza rispetto a cosa?
    Puoi postare qualche record di esempio?

    differenza di timestamp

    esempio

    id | nome | data
    ---------------------------------------
    1 | nome 1 | 1302038869
    2 | nome 2 | 1302039400
    3 | nome 3 | 1302034180


    Grazieeeee

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Ma questa differenza di 7000 su cui vuoi raggruppare su cosa la calcoli, sull'ora attuale?

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    34
    Originariamente inviato da nicola75ss
    Ma questa differenza di 7000 su cui vuoi raggruppare su cosa la calcoli, sull'ora attuale?
    no no tra 2 o più record

    se la differenza è superiore a 7000 si dovrebbero vedere separati altrimenti se inferiore a 7000 raggruppati in un'unico risultato


    Praticamente la query dovrebbere raggruppare in un'unico risultato tutti i record vicini in ordine di tempo .....

    spero di essermi spiegato

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Mi spiace. Non ci ho capito niente.
    Meglio se posti un dump e il risultato atteso.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    34
    Originariamente inviato da nicola75ss
    Mi spiace. Non ci ho capito niente.
    Meglio se posti un dump e il risultato atteso.



    eheheh non sono proprio bravo a spiegarmi

    provo così


    id | nome | data
    ---------------------------------------
    1 | nome 1 | 1302038869
    2 | nome 2 | 1302038400
    3 | nome 3 | 1302030000

    SELECT * FROM tabella GROUP BY DOVE DIFFERENZA DATA < 7000

    il risultato quindi dovrebbe essere:

    ID 1 e 2 raggruppati perchè la differenza tra le loro date è inferiore a 7000 e l'ID 3 da solo perchè non ha nessun altro record dove la differenza tra la data sia inferiore a 7000


    Grazie mille per l'aiuto!!!

  8. #8
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    E' un bel casino, ed è anche una applicazione atipica.
    Nel senso che ogni record puo entrare contemporaneamente in molti gruppi.
    __________________________________________________ ___________

    Riprendo il tuo "troppo" semplice esempio con 1 record in più

    1 | nome 1 | 1302038869
    2 | nome 2 | 1302038400
    3 | nome 3 | 1302030000
    4 | nome 4 | 1302034000

    Ci sono 4 gruppi possibili
    gruppo A da 1302031869 a 1302045869
    gruppo B da 1302031400 a 1302045600
    gruppo C da 1302023000 a 1302037000
    gruppo D da 1302028000 a 1302041000

    Pertanto:
    nel gruppo A trovi i record 1 2 4
    nel gruppo B trovi i record 1 2 4
    nel gruppo C trovi i record 3 4
    nel gruppo D trovi i record 1 2 3 4


    Ho interpretato bene la tua domanda ???
    __________________________________________________ __

    Se e cosi in una tabella di 100.000 record avresti 100.000 gruppi
    e in ogni gruppo ci sarebbero 14.000 record ( senza contare gli estremi )

    __________________________________________________ ______

    Per cominciare a risponderti mandaci un esempio piu concreto della tabella
    e dei risultati che vuoi calcolare sui gruppi,

    __________________________________________________ ________

    Il raggruppamento classico non mi sembra applicabile,
    potremmo pensare a un incrocio fra i campi oppure a più viste
    sequenziali per raggiungere lo scopo

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