Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Υπολογισμός τλευταίων χρονικά τιμών πίνακα (sql)

Îåêßíçóå áðü ôï ìÝëïò nikolasxm. Τελευταία δημοσίευση από το μέλος nikolasxm στις 12-11-2009, 13:45. Υπάρχουν 5 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  10-11-2009, 12:37 55091

    Υπολογισμός τλευταίων χρονικά τιμών πίνακα (sql)

    Γειά σας παιδά
    Θα ήθελα αν γίνεται τη βοηθεια σας πάνω στο εξής:
    Έχω έναν πίνακα "ENTRIES" με μορφή:

    ID     DATE           NAME          VALUE1                   VALUE2      COMMENTS
    1      1/2/2009      NAME1        3                              2.5
    4      15/3/2009    NAME2        5.6                           7              BLABLABLA
    5      17/3/2009    NAME3        4                              2
    9      1/4/2009      NAME1        6                              8
    16    16/4/2009    NAME1        7                              2.5
    19    19/4/2009    NAME3        3                              2.5
    25    4/5/2009      NAME2        4                              3.5           BLABLA

    Θα ήθελα με sql να υπολογισω τις τελευταιες χρονικά τιμές ανά όνομα. ΠΧ:

    16    16/4/2009    NAME1        7                              2.5
    25    4/5/2009     NAME2         4                              3.5           BLABLA
    19    19/4/2009    NAME3        3                              2.5

    Μήπως θα μπορούσε καποιος να βοηθήσει

    Σας ευχαριστώ εκ των προτέρων
  •  10-11-2009, 12:45 55092 σε απάντηση της 55091

    Απ: Υπολογισμός τλευταίων χρονικά τιμών πίνακα (sql)

    select max(DATE), NAME
    FROM ENTRIES
    GROUP BY NAME
    ORDER BY NAME
  •  10-11-2009, 17:31 55108 σε απάντηση της 55091

    Απ: Υπολογισμός τλευταίων χρονικά τιμών πίνακα (sql)

    Ευχαριστώ για την απάντηση

    Που κάνω λάθος? Βάζω
    SELECT ID, NAME, MAX(DATE), VALUE1, VALUE2, COMMENTS FROM ENTRIES GROUP BY NAME

    αλλα μου χτυπάει στα ID,VALUE1,VALUE2,COMMENTS
  •  10-11-2009, 20:37 55109 σε απάντηση της 55108

    Απ: Υπολογισμός τλευταίων χρονικά τιμών πίνακα (sql)


    Το groupby clause χρησιμοποιείται συχνά με aggregate functions, max,min,sum....

    Το λάθος που σου βγάζει είναι

    1
     
    is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause

    με λίγα λόγια, αν βάλεις το λάθος αυτό στο Google θα βρεις πολλά Links

    όταν έχεις groupby clause, ή τα columns θα είναι σε aggregate functions ή θα είναι κομμάτι του groupby.

    τα ID,VALUE1,VALUE2,COMMENTS δεν είναι ούτε σε aggregate functions , ούτε στο groupby clause.





    Νικόλαος Καντζέλης
    BSc, MSc, MCAS, MCPD, MCITP, MCTS,MCP, MCT
    http://www.nksolutions.gr
    http://dotnetstories.wordpress.com
    http://weblogs.asp.net/dotnetstories
    http://forum.dotnetnuke.gr
  •  10-11-2009, 23:05 55112 σε απάντηση της 55109

    Απ: Υπολογισμός τλευταίων χρονικά τιμών πίνακα (sql)

    Για δοκίμασε αυτό:
    SELECT 
    B.ID,B.DATE,B.NAME,B.VALUE1,B.COMMENTS
    FROM
    (
    SELECT MAX(DATE) AS [MAXDATE], [NAME]
    FROM ENTRIES
    GROUP BY [NAME]
    )AS A 
    INNER JOIN ENTRIES AS B
    ON A.NAME=B.NAME AND A.MAXDATE=B.DATE

    Κώστας Τσιώλης
  •  12-11-2009, 13:45 55130 σε απάντηση της 55112

    Απ: Υπολογισμός τλευταίων χρονικά τιμών πίνακα (sql)

    Κώστα σε ευχαριστώ πολυ, δουλεύει άψογα
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems