Πώς κάνουμε sort by count (mysql)

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

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

Απάντηση
gt68
Δημοσιεύσεις: 15
Εγγραφή: 21 Ιουν 2011 06:40

Πώς κάνουμε sort by count (mysql)

Δημοσίευση από gt68 » 19 Σεπ 2011 19:50

Έχω ένα table με 2 columns: postID & viewdate.
Κάθε φορά που κάποιος επισκέπτης βλέπει μία σελίδα, γράφεται μία γραμμή με το postID και την ώρα.
Τώρα, από αυτό το table θέλω να βγάλω τα 10 πιο δημοφιλή (most viewed) posts τις τελευταίες 24 ώρες.

Πώς μπορώ να γράψω το query????

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6236
Εγγραφή: 30 Νοέμ 2004 03:09

Πώς κάνουμε sort by count (mysql)

Δημοσίευση από fafos » 19 Σεπ 2011 20:55

se ti morfh einai h viewdate?
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

gt68
Δημοσιεύσεις: 15
Εγγραφή: 21 Ιουν 2011 06:40

Πώς κάνουμε sort by count (mysql)

Δημοσίευση από gt68 » 19 Σεπ 2011 21:25

Το viewdate είναι type=datetime σε μορφή 2011-09-19 18:36:56

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

Πώς κάνουμε sort by count (mysql)

Δημοσίευση από dva_dev » 19 Σεπ 2011 21:56

Και σε περίπτωση που έχεις ας πούμε 7 posts με 10 views το καθένα και 6 posts και 9 views το καθένα, πάλι 10 θέλεις να εμφανίζει (τα 7 που έχουν 10 views και 3 από τα 6 που έχουν 9; )

gt68
Δημοσιεύσεις: 15
Εγγραφή: 21 Ιουν 2011 06:40

Πώς κάνουμε sort by count (mysql)

Δημοσίευση από gt68 » 19 Σεπ 2011 22:07

dva_dev έγραψε:Και σε περίπτωση που έχεις ας πούμε 7 posts με 10 views το καθένα και 6 posts και 9 views το καθένα, πάλι 10 θέλεις να εμφανίζει (τα 7 που έχουν 10 views και 3 από τα 6 που έχουν 9; )
Aκριβώς! Ένα απλό LIMIT 10.

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

Πώς κάνουμε sort by count (mysql)

Δημοσίευση από dva_dev » 19 Σεπ 2011 22:21

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

select postid, count(postid) views
from mytable
where viewdate>=date_sub(now(), interval 24 hour)
group by postid
order by views desc
limit 10

gt68
Δημοσιεύσεις: 15
Εγγραφή: 21 Ιουν 2011 06:40

Πώς κάνουμε sort by count (mysql)

Δημοσίευση από gt68 » 19 Σεπ 2011 22:42

dva_dev έγραψε:

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

select postid, count(postid) views
from mytable
where viewdate>=date_sub(now(), interval 24 hour)
group by postid
order by views desc
limit 10
έπαιξε με τη μία! Χίλια ευχαριστώ!!!

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

Πώς κάνουμε sort by count (mysql)

Δημοσίευση από dva_dev » 19 Σεπ 2011 22:49

Ας το μεταφέρει κάποιος στη mysql αν μπορεί, γιατί και τα μεταφορικά έχουν πάει στα ύψη.

Απάντηση

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

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

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