在 MySQL 中按 RAND 排序
Preet Sanghavi
2023年1月30日
在本教程中,我們將瞭解如何在 MySQL 中對錶的值或記錄進行隨機排序或排序。
大多數使用 MySQL 進行資料分析或視覺化的企業和組織都需要根據不同的標準對其使用者的不同表值進行排序。
測試是否正確檢查了 MySQL 表中的不同使用者的最有效技術之一是隨機訪問使用者。它可以幫助避免衝突並基於特定平臺更好地瞭解使用者。
MySQL 使用 RAND()
函式幫助分析人員訪問隨機記錄。讓我們嘗試更深入地理解這句話。
但是,在開始之前,我們建立一個虛擬資料集來使用。在這裡,我們建立了一個表 student_dates
以及幾行。
-- create the table student_dates
CREATE TABLE student_dates(
stu_id int,
stu_firstName varchar(255) DEFAULT NULL,
stu_date date,
primary key(stu_id)
);
在 MySQL 中使用 INSERT
語句在 student_dates
表中插入條目
前面的查詢建立了一個名為 student_dates
的表。現在在 INSERT
語句的幫助下,讓我們嘗試為一些學生新增資料。此操作可按如下方式進行:
-- insert rows to the table student_dates
INSERT INTO student_dates(stu_id,stu_firstName,stu_date)
VALUES(1,"Preet",STR_TO_DATE('24-May-2005', '%d-%M-%Y')),
(2,"Dhruv",STR_TO_DATE('14-June-2001', '%d-%M-%Y')),
(3,"Mathew",STR_TO_DATE('13-December-2020', '%d-%M-%Y')),
(4,"Jeet",STR_TO_DATE('14-May-2003', '%d-%M-%Y')),
(5,"Steyn",STR_TO_DATE('19-July-2002', '%d-%M-%Y'));
上面的程式碼將在表 student_dates
中輸入學生資料。
在 MySQL 中使用 ORDER BY
語句對 student_dates
表的值進行隨機排序
如上所述,我們可以使用 MySQL 中的 order by
語句對值進行排序。此邏輯還可用於對錶中的記錄進行隨機排序。可以使用以下方法完成。
SELECT * from name_of_the_table
ORDER BY RAND();
正如我們在上面看到的,所有的表記錄都將使用 RAND()
函式隨機排序。我們現在可以將這個概念應用到我們的 student_dates
表中。可以使用以下查詢執行此操作。
SELECT * from student_dates
ORDER BY RAND();
上述程式碼的輸出可以說明如下。
stu_id stu_firstName stu_date
5 Steyn 2002-07-19
3 Mathew 2020-12-13
4 Jeet 2003-05-14
1 Preet 2005-05-24
2 Dhruv 2001-06-14
正如我們在上述程式碼塊中看到的,所有 student_dates
表記錄都是隨機排序的。如果上面的查詢再執行幾次,輸出將如下所示。
stu_id stu_firstName stu_date
4 Jeet 2003-05-14
1 Preet 2005-05-24
2 Dhruv 2001-06-14
3 Mathew 2020-12-13
5 Steyn 2002-07-19
正如我們從上述輸出塊中看到的那樣,這些值是隨機排序的。
因此,藉助 ORDER BY
語句和 RAND()
函式,我們可以有效地對 MySQL 中特定表的不同記錄進行隨機排序。
作者: Preet Sanghavi