×
Επεξεργασία Προφίλ Επεξεργασία Avatar Επεξεργασία Υπογραφής Επεξεργασία Επιλογών E-mail και Κωδικός Ρυθμίσεις Ειδοποιήσεων
×
Αποσύνδεση Οι Συνδρομές μου Το Προφίλ μου Τα Posts μου Τα Threads μου Λίστα Επαφών Αντιδράσεις σε Posts μου Παραθέσεις των Posts μου Αναφορές σε Εμένα Ενέργειες Συντονιστών Αόρατος Χρήστης

Το e-steki είναι μια από τις μεγαλύτερες ελληνικές διαδικτυακές κοινότητες με 68,992 μέλη και 2,479,513 μηνύματα σε 78,982 θέματα. Αυτή τη στιγμή μαζί με εσάς απολαμβάνουν το e-steki άλλα 146 άτομα.

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

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

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

Scandal (Πέτρος)

Διαχειριστής

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

O Scandal έγραψε: στις 23: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
Πρέπει να συνδεθείτε για να αντιδράσετε σε μηνύματα
Παράθεση

Scandal (Πέτρος)

Διαχειριστής

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

O Scandal έγραψε: στις 14: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).
Πρέπει να συνδεθείτε για να αντιδράσετε σε μηνύματα
Παράθεση

g1wrg0s (01001)

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

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

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

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

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

Εχετε καμοια ιδεα ;
Πρέπει να συνδεθείτε για να αντιδράσετε σε μηνύματα
Παράθεση

g1wrg0s (01001)

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

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

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

#4
καποιο tytorial για mysql-phpmyadmin ;
Πρέπει να συνδεθείτε για να αντιδράσετε σε μηνύματα
Παράθεση

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
Πρέπει να συνδεθείτε για να αντιδράσετε σε μηνύματα
Παράθεση
Απάντηση στο θέμα


Χρήστες

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

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

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