SQL/MySQL/Math/Random

Материал из SQL эксперт
Перейти к: навигация, поиск

Random row from the table

   <source lang="sql">

/* mysql> Drop table timeTable; Query OK, 0 rows affected (0.00 sec) mysql> CREATE TABLE timeTable (

   ->     year YEAR(4),
   ->     month INT(2) UNSIGNED ZEROFILL,
   ->     day INT(2) UNSIGNED ZEROFILL
   -> );

Query OK, 0 rows affected (0.08 sec) mysql> INSERT INTO timeTable VALUES(2001,1,1),

   ->                             (2002,6,20),
   ->                             (2003,5,30),
   ->                             (2004,2,2),
   ->                             (2005,4,23),
   ->                             (2006,3,23);

Query OK, 6 rows affected (0.00 sec) Records: 6 Duplicates: 0 Warnings: 0 mysql> select * from timeTable; +------+-------+------+ | year | month | day | +------+-------+------+ | 2001 | 01 | 01 | | 2002 | 06 | 20 | | 2003 | 05 | 30 | | 2004 | 02 | 02 | | 2005 | 04 | 23 | | 2006 | 03 | 23 | +------+-------+------+ 6 rows in set (0.01 sec) mysql> SELECT * FROM timeTable ORDER BY RAND() LIMIT 3; +------+-------+------+ | year | month | day | +------+-------+------+ | 2002 | 06 | 20 | | 2005 | 04 | 23 | | 2001 | 01 | 01 | +------+-------+------+ 3 rows in set (0.00 sec)

  • /

Drop table timeTable; CREATE TABLE timeTable (

   year YEAR(4), 
   month INT(2) UNSIGNED ZEROFILL,
   day INT(2) UNSIGNED ZEROFILL

); INSERT INTO timeTable VALUES(2001,1,1),

                           (2002,6,20),
                           (2003,5,30),
                           (2004,2,2),
                           (2005,4,23),
                           (2006,3,23);

select * from timeTable;

SELECT * FROM timeTable ORDER BY RAND() LIMIT 3;

      </source>