Selection with a random Column : RAND « Function « SQL / MySQL

Home
SQL / MySQL
1.Aggregate Functions
2.Backup Load
3.Command MySQL
4.Cursor
5.Data Type
6.Database
7.Date Time
8.Engine
9.Event
10.Flow Control
11.FullText Search
12.Function
13.Geometric
14.I18N
15.Insert Delete Update
16.Join
17.Key
18.Math
19.Procedure Function
20.Regular Expression
21.Select Clause
22.String
23.Table Index
24.Transaction
25.Trigger
26.User Permission
27.View
28.Where Clause
29.XML
SQL / MySQL » Function » RAND 
Selection with a random Column
     
mysql>
mysql>
mysql> CREATE TABLE titles (
    ->   titleID int(11),
    ->   title varchar(100),
    ->   subtitle varchar(100),
    ->   edition tinyint(4),
    ->   publID int(11),
    ->   catID int(11),
    ->   langID int(11),
    ->   year int(11),
    ->   isbn varchar(20),
    ->   comment varchar(255),
    ->   ts timestamp,
    ->   authors varchar(255),
    ->   PRIMARY KEY  (titleID)
    -> );
Query OK, rows affected (0.01 sec)

mysql>
mysql>
mysql>
mysql> INSERT INTO titles VALUES (1,'Linux','Installation',5,1,57,2,2000,NULL,NULL,'2005-02-28 13:34:21','Michael'),
    ->                           (2,'Excel',NULL,NULL,2,3,NULL,2000,NULL,NULL,'2005-02-28 13:34:22','David'),
    ->                           (3,'XML',NULL,NULL,1,2,NULL,1997,NULL,NULL,'2005-02-28 13:34:22','Edwards'),
    ->                           (4,'PHP',NULL,NULL,3,6,NULL,2000,NULL,NULL,'2005-02-28 13:34:22','Tom'),
    ->                           (5,'MySQL','',0,3,34,NULL,2000,'','','2005-02-28 13:34:22','Paul'),
    ->                           (6,'Java',NULL,NULL,4,34,NULL,1999,NULL,NULL,'2005-02-28 13:34:22','Tim');
Query OK, rows affected (0.00 sec)
Records: 6  Duplicates: 0  Warnings: 0

mysql>
mysql>
mysql> ALTER TABLE titles ADD random DOUBLE;
Query OK, rows affected (0.01 sec)
Records: 6  Duplicates: 0  Warnings: 0

mysql>
mysql> ALTER TABLE titles ADD INDEX (random);
Query OK, rows affected (0.01 sec)
Records: 6  Duplicates: 0  Warnings: 0

mysql>
mysql> UPDATE titles SET random = RAND();
Query OK, rows affected (0.00 sec)
Rows matched: 6  Changed: 6  Warnings: 0

mysql>
mysql> SELECT titleID, title FROM titles
    -> WHERE random > RAND() ORDER BY random LIMIT 1;
+---------+-------+
| titleID | title |
+---------+-------+
|       | Java  |
+---------+-------+
row in set (0.00 sec)

mysql>
mysql> drop table titles;
Query OK, rows affected (0.00 sec)

   
    
    
    
    
  
Related examples in the same category
1.Each time you seed the generator with a given value, RAND( ) will produce a repeatable series of numbers:
2.To select a single winner at random from the combined results of the three tables
3.Generating Random Numbers
4.Seed RAND( ) randomly
5.Randomizing a Set of Rows
6.Add a column of random numbers to the column output list, alias it, and refer to the alias for sorting
7.Selecting Random Items from a Set of Rows
8.To draw five winning entries at random from a table named drawing that contains contest entries, use RAND( ) i
9.get some random numbers
10.Get some random numbers in the range 1-100
11.Get the name and the number of each player whose name consists of the pattern m.n. The point can be any random
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.