Βοήθεια με άθροισμα εγγραφών βάσης

Συζητήσεις για την βάση δεδομένων MySQL και το phpMyAdmin

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
p04155
Δημοσιεύσεις: 5
Εγγραφή: 24 Ιαν 2011 01:54

Βοήθεια με άθροισμα εγγραφών βάσης

Δημοσίευση από p04155 » 24 Ιαν 2011 02:06

Καλησπέρα σε όλους,
το πρόβλημά μου είναι το εξής, έχω έναν πίνακα με τις εξής στήλες idperioxis, onoma_perioxis,onoma_ypopsifiou, pososto. Ο πίνακας ονομάζεται ypopsifioi και μέσα υπάρχουν οι εγγραφές που νοίζω δεν είναι σκόπιμο να αναρτήσω. Το πρόβλημά μου είναι το εξής θέλω να εμφανίζω τις περιοχές εκείνες όπου οι δύο πρώτοι υποψήφιοι αθροιστικά συγκεντρώνουν πάνω απώ 50% ποσοστό.

και δεύτερον: πώς μπορώ να εμφανίζω μόνο το δεύτερο αποτέλεσμα βάση των ποσοστών ή θέλω να εμφανίσω την γραμμή του πινακα όπου ο υποψήφιος έρχεται τρίτος στην περιφέρεια.
Ευχαριστώ! κάθε βοήθεια θα είναι πολύτιμη!

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Βοήθεια με άθροισμα εγγραφών βάσης

Δημοσίευση από dva_dev » 24 Ιαν 2011 12:07

Για δοκίμασε αυτό που ετοίμασα στα πρόχειρα αν σου κάνει:

Κώδικας: Επιλογή όλων

select idperioxis,onoma_perioxis, sum(mp)
from
(
select idperioxis,onoma_perioxis,max(pososto) mp
from ypopsifioi
group by idperioxis
UNION ALL
select y.idperioxis,y.onoma_perioxis, max(pososto) mp
from ypopsifioi y,
(
select idperioxis,onoma_perioxis,max(pososto) mp
from ypopsifioi
group by idperioxis,onoma_perioxis
)t
where y.idperioxis = t.idperioxis
and y.pososto<t.mp
group by y.idperioxis,onoma_perioxis
&#41; tt
group by idperioxis
having sum&#40;mp&#41;>50
;
Βρίσκει το μεγαλύτερο ποσοστό για κάθε περιοχή (Α), και μετά βρίσκει το επόμενο μέγιστο (για κάθε περιοχή που να είναι μικρότερο από το Α).
Φέρνει σε ένα union αυτά τα 2 set εγγραφών και τελικά επιστρέφει αυτά που το άθροισμα τους > 50.

Θέλει λίγο σενιάρισμα και μάλλον θα ήταν σκόπιμο κάποια subqueries να γίνουν views ή ακόμα και stored procedure που να ψάχνει και να πετάει τα αποτελέσματα σε κάποιο memory table. Ισως να ήταν βέβαια καλύτερο να αλλάξει λίγο η λογική και όταν γίνεται το insert (που ούτως ή άλλως στην καταχώρηση υπάρχει αρκετός χρόνος από το πέρασμα της μιας εγγραφής στην άλλη) να γίνονται κάποιοι έλεγχοι εκείνη την ώρα και να περνιούνται

p04155
Δημοσιεύσεις: 5
Εγγραφή: 24 Ιαν 2011 01:54

Βοήθεια με άθροισμα εγγραφών βάσης

Δημοσίευση από p04155 » 24 Ιαν 2011 16:00

ευχαριστώ πολύ φίλε!
δεν έχω προλάβει ακόμα να το δοκιμάσω θα το κοιτάξω και θα απαντήσω σύντομα.
όπως και να έχει πάντως σε ευχαριστώ πολύ!

p04155
Δημοσιεύσεις: 5
Εγγραφή: 24 Ιαν 2011 01:54

Βοήθεια με άθροισμα εγγραφών βάσης

Δημοσίευση από p04155 » 25 Ιαν 2011 00:17

δυστυχώς φίλε δεν δουλεύει εκανα κάποιες μετατροπές να το προσαρμόσω αλλα δυστυχώς απέτυχαν όλα.υπάρχει περίπτωση να φταίει η έκδοση το mysql querry browser ? πραγματικα τα εχω δοκιμασει όλα δύο μέρες τώρα και δεν μπορώ να το κάνω να παίξει με τίποτα.
όπως και να έχει ευχαριστώ πολύ!

p04155
Δημοσιεύσεις: 5
Εγγραφή: 24 Ιαν 2011 01:54

Βοήθεια με άθροισμα εγγραφών βάσης

Δημοσίευση από p04155 » 25 Ιαν 2011 13:05

με λίγο ψάξιμο ακόμα τελικά δούλεψε,να είσαι καλά φίλε!

Απάντηση

Επιστροφή στο “MySQL”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης