數字輔助表應用一則(分組生成行)
今天遇到了一個需求,有點意思
給一個使用者,隨機生成1-3條評論.
這些評論的內容有一個固定的範圍.
使用者表
create table user
(
userid int,
name varchar(10)
);
insert into user values
(1,'user1'),
(2,'user2'),
(3,'user3');
評論內容表
create table comment_template(
comment varchar(20)
);
insert into comment_template
values
('好'),
('頂'),
('贊'),
('威武'),
('支援'),
('擁護'),
('辛苦'),
('有希望了'),
('看到希望了');
首先,建立數字輔助表,
create table nums(id int not null primary key);
delimiter $$
create procedure pCreateNums(cnt int)
begin
declare s int default 1;
truncate table nums;
while s<=cnt do
insert into nums select s;
set s=s+1;
end while;
end $$
delimiter ;
call pCreateNums(1000);
然後SQL如下,
select
a.*,
(select * from comment_template order by rand() limit 1) comment
from
(
select
userid,
name,
1+round(2*rand(),0) rand
from user
) a,nums where nums.id<=a.rand;
使用者表,首先生成一個1-3的隨機數字,然後透過數字輔助表生成row,
最後,使用相關子查詢隨機獲取一個評論.
結果
參考:
http://blog.itpub.net/29254281/viewspace-1362897/
給一個使用者,隨機生成1-3條評論.
這些評論的內容有一個固定的範圍.
使用者表
create table user
(
userid int,
name varchar(10)
);
insert into user values
(1,'user1'),
(2,'user2'),
(3,'user3');
評論內容表
create table comment_template(
comment varchar(20)
);
insert into comment_template
values
('好'),
('頂'),
('贊'),
('威武'),
('支援'),
('擁護'),
('辛苦'),
('有希望了'),
('看到希望了');
首先,建立數字輔助表,
create table nums(id int not null primary key);
delimiter $$
create procedure pCreateNums(cnt int)
begin
declare s int default 1;
truncate table nums;
while s<=cnt do
insert into nums select s;
set s=s+1;
end while;
end $$
delimiter ;
call pCreateNums(1000);
然後SQL如下,
select
a.*,
(select * from comment_template order by rand() limit 1) comment
from
(
select
userid,
name,
1+round(2*rand(),0) rand
from user
) a,nums where nums.id<=a.rand;
使用者表,首先生成一個1-3的隨機數字,然後透過數字輔助表生成row,
最後,使用相關子查詢隨機獲取一個評論.
結果
參考:
http://blog.itpub.net/29254281/viewspace-1362897/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29254281/viewspace-1480798/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 用數字輔助表補錄資料一則
- ActiveReports 報表應用教程 (6)---分組報表
- 數字對映:數字孿生技術的應用場景及作用
- 如何快速開發數字孿生視覺化應用?視覺化
- Web GIS 航拍——智慧園區數字孿生應用Web
- 數字孿生智慧物流之 Web GIS 地圖應用Web地圖
- 大型銀行組裝式應用在數字生態基座落地實踐
- 三維 GIS+數字孿生,都有哪些酷炫應用?
- 數實融合 數字孿生進入“技術+應用”雙驅動時代
- 前沿技術數字孿生完整指南:應用示例及價值
- 數字孿生五維模型及十大領域應用模型
- Facebook正式更名為Meta,數字孿生元宇宙落地應用元宇宙
- Mycat分表分庫原則
- 應用密碼學——分組密碼密碼學
- 組裝式應用小程式化,企業數字化大勢
- 基於模擬的數字孿生系統構建與應用
- 工信部:2020數字孿生應用白皮書(附下載)
- MySQL分庫分表的原則MySql
- 數字展廳設計所表現出的應用優勢
- ThingJS API 2.0全面進化更適合數字孿生應用JSAPI
- 數字孿生視覺化防汛系統:關鍵技術與應用視覺化
- 給一組數,分為兩組,求差最小的情況
- 叢集式數字監控應用模型研究(一) (轉)模型
- 【附錄】 字符集(一) 漢字在oracle中佔用位元組數Oracle
- 高效產生一組不重複的隨機數隨機
- 數字沙盤的製作與應用表現出了哪些特點
- 數字沙盤的應用表現出的四大特點
- replace()方法的正則表達相關應用
- iBot全行業方案 | 數字生產力在財務部門的應用行業
- //編寫一個函式,傳入一個整數,將數字反轉,檢查數字是不是數字的2倍 果是則返回true,否則返回false函式False
- ActiveReports 報表應用教程 (4)---分欄報表
- 數字簽名的原理和應用
- JAVA——一個漢字佔用多少位元組?Java
- JS 正則驗證數字JS
- 說說工業元宇宙、數字孿生的技術及應用關係元宇宙
- 醫療領域:合成資料、生成對抗網路、數字孿生的應用
- 【臨時表空間組】臨時表空間組的建立、維護及應用
- 數學——變上限積分的應用