![]() |
SQL SUM & MAX Καλημέρα, από τον πίνακα salary id name salaryt 2 Dionisis 22000 3 Vasilis 27000 2 Dionisis 19000 1 Kostas 11000 3 Vasilis 17000 πως μπορώ να πάρω την μεγαλύτερη τιμή από το άθροισμα των ομοίων id στο παραπάνω παράδειγμα να έχω Dionisis 41000 ευχαριστώ |
Καλημέρα Θα μπορούσες να χρησιμοποιήσεις ένα ερώτημα με την παρακάτω μορφή: Κώδικας: SELECT TOP 1 tbl.Id, tbl.fname, Sum(tbl.salaryt) AS sumSal |
Ευχαριστώ Ευχαριστώ, μπορείς να μου εξηγήσεις τον ρόλο της DESC. εγώ προσπαθούσα να το κάνω με την max |
Ταξινομεί τις εγγραφές σε φθίνουσα σειρά ως προς τα αθροίσματα (από το μεγαλύτερο άθροισμα προς το μικρότερο). |
πρόβλημα σε MySql Ωστόσο δε δουλεύει σε MySQL πρόβλημα λέει στη γραμμή 1 , δεν αναγνωρίζει την TOP σε access 2003 δουλεύει μια χαρά |
Αφαίρεσε το Top 1 και το ερωτηματικό μετά το DESC και πρόσθεσε στο ερώτημα τη γραμμή LIMIT 1 ; Ίσως δουλέψει. Διαφορετικά θα πρέπει να ψάξεις την αντίστοιχη πρόταση της mySQL. |
Ναι σωστά αυτό έκανα αμέσως μετά. Εψαξα να βρω την αντίστοιχη για την TOP και την αντικατέστησα. Αυτή είναι η LIMIT ευχαριστώ και πάλι. |
Να είσαι καλά Διονύση και καλή συνέχεια. |
id name salaryt B_name_id B_name 2 Dionisis 22000 01 Papado 3 Vasilis 27000 02 Anastaso 2 Dionisis 19000 03 Georgiou 1 Kostas 11000 04 Didaska 3 Vasilis 17000 05 Raptis Τώρα πρόσθεσα ακόμη δύο στήλες στον πίνακα salary την στήλη B_name_id και την B_name και προσπαθώ για το όνομα της πρώτης στήλης name που έχει το μεγαλύτερο αθροιστικά salary , να μου επιστρέφει και τα ονόματα δηλαδή από τα παραπάνω να έχω 2 Dionisis 41000 Papado Raptis όσες δοκιμές έχω κάνει πάντα μου επιστρέφει ένα μόνο όνομα , το πρώτο |
Αγαπητέ Διονύση (συγγνώμη για το Γιάννη) , είναι εγκληματικό να χρησιμοποιούμε δεσμευμένα ονόματα όπως το Name ως ονόματα πεδίων!! Έστω ότι ο πίνακας ονομάζεται Table1 και το πεδίο Name Fullname. Ο παρακάτω παρακάτω κώδικας μπορεί να μπει σε ένα ερώτημα σε προβολή SQL: Κώδικας: SELECT TOP 1 Table1.FullName, Sum(Table1.Salary) AS SumOfSalaryΤάσος |
Ονόματα πινάκων Στην πραγματικότητα δεν είναι αυτά τα ονόματα των πεδίων. Τα αναφέρω μόνο στο παράδειγμα Ωστόσο έχεις δίκιο και οι κανόνες πρέπει να ακολουθούνται παντού. Στο ίδιο ερώτημα αν κοιτάξεις πιο πάνω ζητώ να κάνω κάτι επιπλέον. Αν μπορείς να βοηθήσεις; |
Ο κώδικας SQL κάνει ακριβώς αυτό που ζήτησες δηλαδή σου επιστρέφει το όνομα (στο μήνυμα σου name)" που έχει το μεγαλύτερο αθροιστικά salary". Αν θέλεις κάτι άλλο περίγραψε μας το ζητούμενο ξανά. |
Νέο ζητούμενο id Αname salaryt Bname_id B_name 2 Dionisis 22000 01 Papado 3 Vasilis 27000 02 Anastaso 2 Dionisis 19000 03 Georgiou 1 Kostas 11000 04 Didaska 3 Vasilis 17000 05 Raptis Τώρα πρόσθεσα ακόμη δύο στήλες στον πίνακα salary την στήλη B_name_id και την B_name και προσπαθώ για το όνομα της πρώτης στήλης name που έχει το μεγαλύτερο αθροιστικά salary , να μου επιστρέφει και τα ονόματα δηλαδή από τα παραπάνω να έχω 2 Dionisis 41000 Papado Raptis όσες δοκιμές έχω κάνει πάντα μου επιστρέφει 2 Dionisis 41000 Papado δηλαδή μόνο το ένα όνομα |
Dionisis 41000 Papado Raptis Δεν μπόρεσα να καταλάβω. Το Raptis μετά το Papado που κολλάει;;;; Πρόκειται για δεύτερη γραμμή μήπως;; Γίνε πιο σαφής σε παρακαλώ. |
Ναι .... O Dionisis έχει το μεγαλύτερο αθροιστικά salary (που απαντήθηκε ήδη σωστά) Αυτό το salary προέρχεται από τους papado και raptis και αυτούς θέλω να εμφανίζω είτε σε μία σειρά είτε από κάτω Dionisis 41000 Papado Raptis ή Dionisis 41000 Papado Raptis |
1 Συνημμένο(α) Σε ένα ερώτημα με το όνομα TopName Βάλε το παρακάτω: Κώδικας: SELECT TOP 1 Table1.Αname, Sum(Table1.Salary) AS SumOfSalaryΚατόπιν σε ένα νέο ερώτημα βάλε το παρακάτω: Κώδικας: SELECT TOP 1 Table1.Αname, Sum(Table1.Salary) AS SumOfSalaryΤάσος |
ΣΟΥΠΕΡ Ναι όντως δουλεύει (αν και μου έστειλες 2 φορές τον ίδιο κώδικα) Αυτό λέγεται ερώτημα συνένωσης; Ευχαριστώ για τον κόπο σου και την υπομονή σου; Αλήθεια ασχολείσαι επαγγελματικά ή ερασιτεχνικά; |
Το πρώτο τμήμα του κώδικα στο έστειλα 2 φορές σε 2 διαφορετικά μηνύματα για να έχεις μια πιο ολοκληρωμένη εικόνα και μπορεί να απλοποιηθεί ακόμα περισσότερο. Το δεύτερο τμήμα είναι κάτι ξεχωριστό και περιέχει διαφορετικά ονόματα. Δραστηριοποιούμαι επαγγελματικά σ αυτόν τον τομέα στο εξωτερικό από το 2000. |
| Η ώρα είναι 20:37. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.