marjel Δημοσ. 3 Μαΐου 2011 Δημοσ. 3 Μαΐου 2011 Καλησπέρα , έχω ένα table στην SQL με διάφορα δεδομένα.. θέλω να τρέξω ένα query τύπου SELECT Sex, Occupation, COUNT(*)AS 'Total' FROM mytable GROUP BY Sex, Occupation τα αποτελέσματα είναι Sex Occupation Total M tempelis 21 M remali 26 M groupieris 11 F tempelis 13 F remali 13 F groupieris 10 τι ακριβώς πρέπει να κάνω για να έχω τα αποτελέσματα σε τέτοια μορφή Gender tempelis remali groupieris M 21 26 11 F 13 13 10 Ευχαριστώ εκ των προτέρων
Aztec Δημοσ. 3 Μαΐου 2011 Δημοσ. 3 Μαΐου 2011 απο το αποτελεσμά σου το τελικο όπως το δίνεις >Sex Occupation Total M tempelis 21 M remali 26 M groupieris 11 F tempelis 13 F remali 13 F groupieris 10 Oracle > SELECT sex, sum(decode(occupation,'tempelis',Total)) tempelis, sum(decode(occupation,'remali',Total)) remali, sum(decode(occupation,'groupieris',Total)) groupieris FROM mytable GROUP BY sex αντίστοιχα με case για άλλη βάση > SELECT sex, sum(case when occupation='tempelis' then Total end) tempelis, sum(case when occupation='remali' then Total end) remali, sum(case when occupation='groupieris' then Total end) groupieris FROM mytable GROUP BY sex Δεν τα έχω τεστάρει. Μπορείς να το κάνεις και στον αρχικό πίνακα και όχι στο πρώτο αποτέλεσμα ως εξής > SELECT sex, sum(case when occupation='tempelis' then 1 else 0 end) tempelis, sum(case when occupation='remali' then 1 else 0 end) remali, sum(case when occupation='groupieris' then 1 else 0 end) groupieris FROM mytable GROUP BY sex Πρέπει να ξέρεις σε οποιαδήποτε περίπτωση όλα τα occupations . Αν σου είναι δυσκολο άλλαξε και βάλε πάνω το sex και κάθετα το occupation .
marjel Δημοσ. 3 Μαΐου 2011 Μέλος Δημοσ. 3 Μαΐου 2011 > SELECT sex, sum(decode(occupation,'tempelis',Total)) tempelis, sum(decode(occupation,'remali',Total)) remali, sum(decode(occupation,'groupieris',Total)) groupieris FROM mytable GROUP BY sex αυτό Δούλεψε κανονικά Χίλια ευχαριστώ για τον χρόνο σου ......
Aztec Δημοσ. 3 Μαΐου 2011 Δημοσ. 3 Μαΐου 2011 Να σαι καλα Πάντως το πιο σωστό είναι το ακόλουθο εφόσον είσαι σε oracle για τον αρχικο πίνακα χωρίς ενδιάμεσα αποτελέσματα. > SELECT sex, sum(decode(occupation,'tempelis',1,0)) tempelis, sum(decode(occupation,'remali',1,0)) remali, sum(decode(occupation,'groupieris',1,0)) groupieris FROM mytable GROUP BY sex
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.