MySQL

Επιλογή τυχαίας εγγραφής από πίνακα

Για να επιλέξουμε μία τυχαία εγγραφή από έναν πίνακα στη MysSQL μπορούμε να χρησιμοποιήσουμε τον παρακάτω κώδικα:

SELECT * FROM tablename WHERE condition ORDER BY RAND() LIMIT 0, 1

php_logo.gifΣημειώστε ότι μπoρούμε να έχουμε και κάποια συνθήκη και η τυχαιότητα να λειτουργήσει για τις εγγραφές που επιστρέφονται από αυτή. Για παράδειγμα θα μπορούσαμε να επιλέξουμε 3 τυχαίες φωτογραφίες που έχουν όμως μέσο όρο πάνω από 8.5. Σε αυτή την περίπτωση θα βάζαμε σαν συνθήκη rating>=8.5

SELECT * FROM photos WHERE rating>=8.5 ORDER BY RAND() LIMIT 0, 3

Επιστροφή μοναδικών τιμών πεδίου, επιλέγοντας ταυτόχρονα και άλλα πεδία

Για να επιλέξουμε μόνο τις μοναδικές τιμές ενός πεδίου από έναν πίνακα χρησιμοποιούμε ένα query της μορφής :

SELECT DISTINCT field1 FROM tablename WHERE condition

Όμως αν θέλουμε να επιλέξουμε τις μοναδικές τιμές του field1 αλλά και άλλα πεδία εκτός από το field1 αρχίζουν τα προβλήματα. Για παράδειγμα αν χρησιμοποιήσουμε το query :

SELECT DISTINCT field1, field2, field3 FROM tablename WHERE condition

php_logo_small.gifΤότε θα μας επιστραφούν όλες οι εγγραφές που ο συνδυασμός των field1, field2 και field3 είναι μοναδικός. Δηλαδή το πιθανότερο, όλες οι εγγραφές! Αντ’ αυτού πρέπει να χρησιμοποιήσουμε το query :

SELECT field1, field2, field3 FROM tablename WHERE condition GROUP BY field1
Διαφήμιση
Last week stats

750
Unique
Visitors
Powered By Google Analytics