Προς το περιεχόμενο

mysql querie


Προτεινόμενες αναρτήσεις

Δημοσ.
Γειά σας.
 
Έχω έναν πίνακα στη mysql με το όνομα τάξη, ο οποίος αποτελείται απο 3 πεδία,
 
Όνομα μαθητή
 
Επώνυμο μαθητή
 
Βαθμός μαθητή.
 
Προσπαθώ να βρώ ένα querie ώστε να μου βγάζει τους μαθητές που έχουν τον ίδιο βαθμό αλλά δεν μπορώ να βρώ κάτι .
 
Σας ευχαριστώ εκ των προτέρων για τη βοήθεια.

 

Δημοσ.

Εάν ξέρεις τον βαθμό τότε το query είναι

 

SELECT Όνομα, Επώνυμο FROM students WHERE Βαθμός= '9'

 

εάν δεν το ξέρεις τότε θα πρέπει να κάνεις sort τον πίνακά σου με τον βαθμό και να τους ομαδοποιήσεις μετά εσύ.

Δημοσ.

Υποτίθεται ότι δε βλέπω τον πίνακα.

 

Κάνω order by bathmos mathiti τον πινακα και μου βγάζει τους βαθμούς από μικρότερο στο μεγαλυτερο.

 

Μετά πώς τους ομαδοποιώ?

Δημοσ.

Δεν θα σου γράψω τον κώδικα αλλά θα σου πω την λογική να το κάνεις εσύ.

 

Μια ιδέα είνα τα αποτελέσματα που θα σου φέρει το query σου, να τα βάλεις σε έναν δυσδιάστατο πίνακα της παρακάτω μορφής

 

data_students[Χ]['name'] = 'Βασίλης'

data_students[Χ]['surname'] = 'Βασιλείου'

data_students[Χ]['ranking'] = '6'

 

.....

.....

.....

 

data_students[Χ]['name'] = 'Γεώργιος'

data_students[Χ]['surname'] = 'Γεωργίου'

data_students[Χ]['ranking'] = '8'

 

Το Χ είναι ένας αύξων αριθμός.

Δημοσ.

Συγγνωμη μάλλον δεν το διατύπωσα σωστά!

 

Τον πίνακα δεν τον βλέπω. 

 

Προσπαθώ να βρώ ένα query ώστε να μου βγάζει τους μαθητές που έχουν τον ίδιο βαθμό, μόνο με ένα query όμως (όχι με 2, δηλαδή με το πρώτο να βλέπω τους βαθμούς και μετα να βλέπω ποιοι έχουν την ίδια βαθμολογία). Αν υπάρχει τέτοιπ query μπορείς να μου πεις τη λογική?
Δημοσ.

Έστω τα πεδία "name", "surname" και "grade".

 

Έστω τα δεδομένα:

name      surname   grade
----      -------   -----
Κώστας    Κώστου    5
Γιώργος   Γιώργου   7
Μήτσος    Μήτσου    6
Κυριάκος  Κυριάκου  7

Το query:

SELECT grade, GROUP_CONCAT(CONCAT_WS(' ',name, surname), '') FROM test GROUP BY grade

Θα σου επιστρέψει:

5    Κώστας Κώστου
6    Μήτσος Μήτσου
7    Γιώργος Γιώργου,Κυριάκος Κυριάκου
  • Like 2
Δημοσ.

Θα ήθελα να μου εμφανιζει μόνο τα άτομα με το βαθμό 7 στο συγκεκριμένο πινακα, όχι όλο τον πινακα. Εαν δε γινεται δεν πειραζει.

 

Ευχαριστω πολυ!

Δημοσ.

Στηριζόμενος στο post του @macabre_sunsets πιο πάνω

SELECT grade, GROUP_CONCAT(CONCAT_WS(' ',name, surname), '') FROM test WHERE grade = 7 GROUP BY grade

θα σου επιστρέψει

7    Γιώργος Γιώργου,Κυριάκος Κυριάκου

Οι μαθητές που έχουν και οι δύο βαθμολογία 7

Δημοσ.

uberalles_gr  δε σε κοροϊδεύω.

 

Όταν μου έγραψεο macabre_sunset το συγκεκριμένο πίνακα για παράδειγμα ενοούσα να μου εμφανίζει μόνο τις καταχωρήσεις με βαθμό 7, αλλά εγώ όπως είπα απο την αρχή να μην ξέρω τι βοθμούς έχει ο πίνακας. (δηλαδή δεν βλέπω καθόλου τον πίνακα).

 

Εάν κατάλαβες κάτι άλλο σου ζητάω συγνώμη.

 

Ο κώδικας έτρεξε σύμφωνα με τον macabre_sunsets και μου βγάζει όλους τους διαφορετικούς βαθμούς, και δίπλα σε κάθε διαφορετικό βαθμό τα ονόματα και τα επώνυμα όσων μαθητών των έχουν.

 

Βέβαια θα ήθελα να μη μου βγαζει τον βαθμό στον οποιο αντιστοιχεί μόνο ένας μαθητής, αλλά δεν πειράζει.

 

Σας ευχαριστώ πολύ όλους για την βοήθεια.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...