Το e-steki είναι μια από τις μεγαλύτερες ελληνικές διαδικτυακές κοινότητες με 66,106 εγγεγραμμένα μέλη και 2,388,265 μηνύματα σε 74,663 θέματα. Αυτή τη στιγμή μαζί με εσάς απολαμβάνουν το e-steki άλλα

Καλώς ήρθατε στο e-steki!

Εγγραφή Βοήθεια

Βοήθεια στη σύνταξη MySQL ερωτήματος

Scandal (Πέτρος)

Tech Manager

Το avatar του χρήστη Scandal
Ο Πέτρος αυτή τη στιγμή είναι συνδεδεμένος. Είναι 28 ετών , επαγγέλεται Web developer και μας γράφει απο Περιστέρι (Αττική). Έχει γράψει 3,056 μηνύματα.

O Scandal έγραψε στις 22:36, 20-07-12:

#1
Λοιπόν, χρειάζομαι βοήθεια στη σύνταξη ενός query (βασικά δύο αλλά κάπως κοινά). Έχουμε τους ακόλουθους δύο πίνακες. Ο post περιέχει τα δεδομένα των μηνυμάτων ενός forum και ο thumbs περιέχει τα δεδομένα των ψήφων (1 ή -1) που έχουν δώσει οι χρήστες στα μηνύματα. Σας περιγράφω τα structures που μας αφορούν για την επίλυση του προβλήματος (ίσως αναφέρω και περιττά columns):
Πίνακας "post":
postid (auto_increment)
username
userid
dateline

Πίνακας "thumbs":

id (auto_increment)
thumb (= έχει τιμές 1 ή -1)
userid
username
dateline
to_userid
postid

Προσοχή στο ότι ο thumbs έχει συνήθως πάνω από ένα κοινά postids στο αντίστοιχο column, αφού ένα μήνυμα (postid) μπορεί να έχει πάνω από 1 ψήφους (id).
Ο column userid του post και ο to_userid του thumbs έχουν την ίδια πληροφορία αντίστοιχα.
Οι dateline έχουν την σφραγίδα χρόνου που δημιουργήθηκαν τα μηνύματα ή οι ψήφοι αντίστοιχα.

Τι θέλω να κάνω;
Θέλω ένα query που θα επιστρέφει τα top 10 πιο ψηφισμένα posts με θετικές (thumb=1) και ένα query με τα top 10 πιο ψηφισμένα posts με αρνητικές (thumb=-1), τις τελευταίες 7 μέρες. Για κάθε post θα ήθελα να επιστρέφει και τον αριθμό των ψήφων που έχουν γίνει τις 7 αυτές τελευταίες μέρες (προσοχή: όχι το σύνολο των ψήφων του post αλλά το σύνολο των ψήφων σε διάστημα 7 ημερών).

Έχω γράψει το ακόλουθο αλλά δεν νομίζω να κάνει ακριβώς αυτο που ζητάω.
SELECT post.*, (SELECT COUNT(thumb) FROM thumbs AS thumb_table WHERE thumb_table.postid = post.postid AND thumb_table.thumb=1) AS thumbs_count FROM post AS post LEFT JOIN thumbs AS thumbs USING (postid) WHERE thumbs.dateline > CURDATE() - INTERVAL 1 WEEK GROUP BY postid ORDER BY thumbs_count DESC LIMIT 10

Σημείωση: Το μήνυμα αυτό γράφτηκε πάνω από 5 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

0 Δεν μπορείτε να αξιολογήσετε αρνητικά το μήνυμα αυτόΔεν μπορείτε να αξιολογήσετε θετικά το μήνυμα αυτό
Παράθεση

Scandal (Πέτρος)

Tech Manager

Το avatar του χρήστη Scandal
Ο Πέτρος αυτή τη στιγμή είναι συνδεδεμένος. Είναι 28 ετών , επαγγέλεται Web developer και μας γράφει απο Περιστέρι (Αττική). Έχει γράψει 3,056 μηνύματα.

O Scandal έγραψε στις 13:35, 23-07-12:

#2
Το πρόβλημα λύθηκε!
Σας παραθέτω το query:
SELECT post.*, sum1 FROM post INNER JOIN ( SELECT postid, COUNT(thumb) AS sum1 FROM thumbs WHERE (FROM_UNIXTIME(dateline) > CURDATE() - INTERVAL 1 WEEK) AND (thumb = 1) GROUP BY postid ORDER BY sum1 DESC, postid DESC LIMIT 10 ) tmp ON post.postid = tmp.postid ORDER BY sum1 DESC, postid DESC; Γενικά ταλαιπωρήθηκα μέχρι να ανακαλύψω την FROM_UNIXTIME() (οι dateline έχουν timestamp).

Σημείωση: Το μήνυμα αυτό γράφτηκε πάνω από 5 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

0 Δεν μπορείτε να αξιολογήσετε αρνητικά το μήνυμα αυτόΔεν μπορείτε να αξιολογήσετε θετικά το μήνυμα αυτό
Παράθεση

g1wrg0s (01001)

Επιφανές Μέλος

Το avatar του χρήστη g1wrg0s
Ο 01001 αυτή τη στιγμή δεν είναι συνδεδεμένος Επαγγέλεται Φοιτητής/τρια . Έχει γράψει 9,584 μηνύματα.

O g1wrg0s Δεν υπάρχει δεν μπορώ, υπάρχει δεν θέλω! έγραψε στις 16:05, 22-01-14:

#3
καλησπερα παιδια
χρησιμοποιω το phpmyadmin για τη συγγραφη mysql ερωτηματων. Ωστοσο εχω καποιο προβλημα και λεω να ρωτησω.

Κανωντας ενα πινακα Α και βαζοντας τα κλειδια του α1,α2 θελω να αναφερθω σε αυτα μεσω ενος πινακα Β με τα ξενα κλειδια β1,β2. Το προβλημα εναι οτι δε μπορω να κανω τα β1,β2 ξενα κλειδια.

Εχετε καμοια ιδεα ;

Σημείωση: Το μήνυμα αυτό γράφτηκε πάνω από 3 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

0 Δεν μπορείτε να αξιολογήσετε αρνητικά το μήνυμα αυτόΔεν μπορείτε να αξιολογήσετε θετικά το μήνυμα αυτό
Παράθεση

g1wrg0s (01001)

Επιφανές Μέλος

Το avatar του χρήστη g1wrg0s
Ο 01001 αυτή τη στιγμή δεν είναι συνδεδεμένος Επαγγέλεται Φοιτητής/τρια . Έχει γράψει 9,584 μηνύματα.

O g1wrg0s Δεν υπάρχει δεν μπορώ, υπάρχει δεν θέλω! έγραψε στις 21:48, 22-01-14:

#4
καποιο tytorial για mysql-phpmyadmin ;

Σημείωση: Το μήνυμα αυτό γράφτηκε πάνω από 3 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

0 Δεν μπορείτε να αξιολογήσετε αρνητικά το μήνυμα αυτόΔεν μπορείτε να αξιολογήσετε θετικά το μήνυμα αυτό
Παράθεση

aergos

Δραστήριο Μέλος

Το avatar του χρήστη aergos
Ο aergos αυτή τη στιγμή δεν είναι συνδεδεμένος Έχει γράψει 383 μηνύματα.

O aergos έγραψε στις 20:08, 23-01-14:

#5
Αρχική Δημοσίευση από g1wrg0s
καλησπερα παιδια
χρησιμοποιω το phpmyadmin για τη συγγραφη mysql ερωτηματων. Ωστοσο εχω καποιο προβλημα και λεω να ρωτησω.

Κανωντας ενα πινακα Α και βαζοντας τα κλειδια του α1,α2 θελω να αναφερθω σε αυτα μεσω ενος πινακα Β με τα ξενα κλειδια β1,β2. Το προβλημα εναι οτι δε μπορω να κανω τα β1,β2 ξενα κλειδια.

Εχετε καμοια ιδεα ;
ρίχνοντας μία πολύ γρήγορη ματιά στο phpmyadmin δε βρήκα κάποια επιλογή από το γραφικό περιβάλλον ώστε να ορίσω ένα πεδίο ως ξένο κλειδί, αλλά σε κώδικα είναι πολύ απλό:
ALTER TABLE Orders
ADD FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)

http://www.w3schools.com/sql/sql_foreignkey.asp

Σημείωση: Το μήνυμα αυτό γράφτηκε πάνω από 3 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

0 Δεν μπορείτε να αξιολογήσετε αρνητικά το μήνυμα αυτόΔεν μπορείτε να αξιολογήσετε θετικά το μήνυμα αυτό
Παράθεση
Απάντηση στο θέμα

Χρήστες

  • Τα παρακάτω 0 μέλη και 1 επισκέπτες διαβάζουν μαζί με εσάς αυτό το θέμα.
     
  • (View-All Tα παρακάτω 0 μέλη διάβασαν αυτό το θέμα τις τελευταίες 30 μέρες:
    Μέχρι και αυτή την στιγμή δεν έχει δει το θέμα κάποιο ορατό μέλος

Βρείτε παρόμοια

  • Παρόμοια Θέματα
    • Σύνταξη Βιογραφικού Σημειώματος - Από Subject to change
      Το θέμα έχει λάβει 109 απαντήσεις και βρίσκεται στην κατηγορία iCareer: Εργασία & Καριέρα.
      Το τελευταίο του μήνυμα δημοσιεύτηκε 08-11-17 στις 23:22.
    • Πωλείται Ανάπτυξη Web Εφαρμογών με PHP και MySQL, 3η έκδοση - Από Scandal
      Το θέμα έχει λάβει 1 απαντήσεις και βρίσκεται στην κατηγορία Αγγελίες.
      Το τελευταίο του μήνυμα δημοσιεύτηκε 02-05-13 στις 17:38.
    • Σύνταξη - Από Isiliel
      Το θέμα έχει λάβει 141 απαντήσεις και βρίσκεται στην κατηγορία Πολιτική - Κοινωνικά θέματα.
      Το τελευταίο του μήνυμα δημοσιεύτηκε 27-03-11 στις 16:48.
  • Προηγούμενο Θέμα Επόμενο Θέμα

Μοιραστείτε το

...με ένα φίλο

...με πολλούς φίλους