Hi! I'm Jay. I have a MySQL table with a column for a question and another for the answer. The table contains several hundred rows.

What I need is to retrieve a row randomly from this table so that a question will be randomly picked and posted on a page (for an online quiz application). MySQL only offers a way of sorting the results of a query randomly. I'm avoiding this because as the table increases in size, I'll be selecting all rows then randomizing (SELECT question, answer FROM table ORDER BY RAND()).

At the moment, since I have not thought of a good algorithm, I did as what I said from above. I selected all rows then sorting the results randomly through MySQL. Each result is pushed to an array. Afterwhich I again randomized the elements in the array (because of some reasons...) then dumped them to a temporary table. From the temporary table, I then pulled my questions.

Is there a better way?

Jay

In reply to Is there a good way of retrieving entries randomly from a database (MySQL perhaps)? by soon_j

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.