
- Learn MySQL
- MySQL - Home
- MySQL - Introduction
- MySQL - Installation
- MySQL - Administration
- MySQL - PHP Syntax
- MySQL - Connection
- MySQL - Create Database
- MySQL - Drop Database
- MySQL - Select Database
- MySQL - Data Types
- MySQL - Create Tables
- MySQL - Drop Tables
- MySQL - Insert Query
- MySQL - Select Query
- MySQL - Where Clause
- MySQL - Update Query
- MySQL - Delete Query
- MySQL - Like Clause
- MySQL - Sorting Results
- MySQL - Using Join
- MySQL - NULL Values
- MySQL - Regexps
- MySQL - Transactions
- MySQL - Alter Command
- MySQL - Indexes
- MySQL - Temporary Tables
- MySQL - Clone Tables
- MySQL - Database Info
- MySQL - Using Sequences
- MySQL - Handling Duplicates
- MySQL - SQL Injection
- MySQL - Database Export
- MySQL - Database Import
Select three random records with a fixed number of characters for each column value in MySQL
For this, you can use CHAR_LENGTH(). Use RAND() for random records. Let us first create a table −
mysql> create table DemoTable (Subject text); Query OK, 0 rows affected (0.61 sec)
Example
Insert some records in the table using insert command −
mysql> insert into DemoTable values('C'); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable values('MySQL'); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable values('Java'); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable values('MongoDB'); Query OK, 1 row affected (0.59 sec) mysql> insert into DemoTable values('RubyOnRails'); Query OK, 1 row affected (0.25 sec) mysql> insert into DemoTable values('C++'); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable values('Python'); Query OK, 1 row affected (0.20 sec)
Display all records from the table using select statement −
mysql> select *from DemoTable;
Output
+-------------+ | Subject | +-------------+ | C | | MySQL | | Java | | MongoDB | | RubyOnRails | | C++ | | Python | +-------------+ 7 rows in set (0.00 sec)
Following is the query to select 3 random records with fixed number of characters for each −
mysql> select *from (select *from DemoTable WHERE CHAR_LENGTH(Subject) = 7 ORDER BY RAND() LIMIT 1 ) tbl UNION (select *from DemoTable WHERE CHAR_LENGTH(Subject) = 11 ORDER BY RAND() LIMIT 1 ) UNION (select *from DemoTable WHERE CHAR_LENGTH(Subject) = 5 ORDER BY RAND() LIMIT 1 );
Output
+-------------+ | Subject | +-------------+ | MongoDB | | RubyOnRails | | MySQL | +-------------+ 3 rows in set (0.04 sec
- Related Articles
- Select a fixed number of random records from a MySQL table?
- How to update records in a column with random numbers in MySQL?
- Order randomly in MySQL with a random value column?
- MySQL SELECT to sum a column value with previous value
- How to select records that begin with a specific value in MySQL?
- How to update MySQL column with random value?
- Select the maximum for each value in a MySQL table?
- MySQL query to select column where value = one or value = two, value = three, etc?
- MySQL query to select everything to left of last space in a column with name records
- Select random number from a specific list in MySQL?
- Select minimum row value from a column with corresponding duplicate column values in MySQL
- MySQL select for exact case sensitive match with hyphen in records
- Retrieve records whenever a column value starts with 2 vowel letters in MySQL
- Set a specific value for the first three column values in MySQL?
- Select distinct values from three columns and display in a single column with MySQL

Advertisements