Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ. (επεξεργασμένο)

Καλημέρα. Λόγω του προχωρημένου τους ώρας, εχω σκαλώσει σε κάτι και δεν μπορώ να ξεκολλήσω. Καμία ιδέα;

 

Έχουμε ένα mysql πίνακα (π.χ. με ονομα tilefona) όπου μεσα εχει 4 columns, ένα id, ένα onoma, και δυο νουμερα. Βλ παρακάτω

 

----------------------------------------------

| id | onoma | noumero1 | noumero2 |

----------------------------------------------

| 1 | kostas  | 44             | 55             |

| 2 | stelios  | 66             | 77             |

| 3 | eleni     | 88            | 99              |

| 4 | litsa      | 22             | 33             |

----------------------------------------------

 

Ψάχνω λοιπον το sql statement οπου θα επιλεγουν ΔΥΟ τυχαια νουμερα (απο noumero1 και noumero2 - αυτά ειναι το σημείο τυχαιοτητας) και θα μου απεικονιστεί το ονομα και νουμερο.

 

Δηλαδή θέλω να βγει κατι σαν

 

---------------

| stelios | 77|

| eleni   | 88|

---------------

 

ή αν το τρέξω πάλι να βγει π.χ.

 

---------------

| kostas | 44|

| eleni   | 88|

---------------

 

 

| stelios | 44|

| eleni   | 88|

 

 

Με php το έφτιαξα με πολλαπλά query αλλά θελω να το φτιάξω απευθείας απο mysql για λόγους ταχύτητας. Εχει κάποιος κάποια ιδεα;

 

Ευχαριστω εκ των προτέρων

Επεξ/σία από arc
Δημοσ.

Mysql έχω χρόνια να γράψω αλλά σε oracle το χα κάνει μέσω hash συναρτήσεων. Δηλ. στο select statement πετάω ένα επιπλέον πεδίο με το hash του (πχ) ονόματος concatenated με current date, κάνω sort βάσει αυτού κι επιλέγω τα 2 πρώτα records. Φαντάζομαι θα μπορούσες να χρησιμοποιήσεις κάποια απ αυτές τις συναρτήσεις.

Δημοσ.
select t1.onoma,t1.noumero1 from tilefona t1
join (select noumero1 from tilefona order by rand() limit 1) t2
on (t1.noumero1=t2.noumero1)
union
select t1.onoma,t1.noumero2 from tilefona t1
join (select noumero2 from tilefona order by rand() limit 1) t2
on (t1.noumero2=t2.noumero2)
Ο stelios | 44 από που προκύπτει;
Δημοσ.

Ευχαριστώ για τις απαντήσεις.

Τώρα δεν είμαι μπροστά στο τερματικό, οπότε θα το δοκιμάσω αργότερα.

Το stelios 44 επρεπε να ειναι kostas 44

Δημοσ.

Μια χαρά τα λες και γενικά μου λειτουργεί το sql που έγραψες. Το μόνο πρόβλημα που βρήκα ειναι οτι αν κάποιο νουμερο επαναλαμβάνεται στην ίδια στήλη παρακάτω της τυχαίας επιλογής, το εμφανίζει και αυτό. Αυτό σημαίνει οτι κατά περιπτωση εμφανίζει 3-4 ή περισσότερα αποτελέσματα.

 

Βέβαια αυτό που έγραψες με ξεκόλλησε και έφτιαξα έυκολα και το παραπάνω. Σε ευχαριστώ πολύ

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...