想練習 sql 卻苦於無資料?不存在的!
所有的資料都可以人工生成!
比方說你需要練習操作使用者交易表,包含 userid(使用者id)、orderid(訂單id)、amount(訂單金額)、paytime(支付時間)這幾個字段,如下所示:
/**********************************
現在資料庫中有一張使用者交易表order,
其中有userid(使用者id)、orderid(訂單id)、amount(訂單金額)、paytime(支付時間),
請寫出對應的sql語句,
查出每個月的新客數(新客指在嚴選首次支付的使用者),
當月有複購的新客數,
新客當月複購率(公式=當月有複購的新客數/月總新客數)
************************************/
create
table
order
( userid int
notnull
, orderid int
notnull
, amount int
notnull
, paytime datetime
notnull
);
沒有真實資料?自己生成吧!
from random import randint
from datetime import datetime, timedelta
dt = datetime(
2020,1
,1,0
,0,0
)for orderid in
range(1
,9999):
userid = randint(0,
99999
) amount = randint(10,
1000
) dt += timedelta(0,
0,0,
0,# hour
randint(0,
3),# minute
randint(1,
3))# second
print
('(,,,{})'
.format
(userid, orderid, amount, dt.strftime(
"%y-%m-%d %h:%m:%s"))
)
結果展示:
(21095, 1, 472,2020-01-01 02:00:00)
(86110, 2, 738,2020-01-01 03:01:00)
(15805, 3, 118,2020-01-01 06:04:00)
(95784, 4, 208,2020-01-01 07:06:00)
(43824, 5, 107,2020-01-01 09:07:00)
(91332, 6, 482,2020-01-01 11:10:00)
(34188, 7, 218,2020-01-01 13:12:00)
(96293, 8, 445,2020-01-01 16:14:00)
...(70821,9990, 323,2022-04-24 05:59:00)
(15333,9991, 439,2022-04-24 08:59:00)
(77790,9992, 989,2022-04-24 11:02:00)
(63495,9993, 688,2022-04-24 13:04:00)
(81080,9994, 703,2022-04-24 15:06:00)
(92776,9995, 564,2022-04-24 18:09:00)
(35396,9996, 854,2022-04-24 21:10:00)
(42765,9997, 914,2022-04-25 00:11:00)
(90937,9998, 554,2022-04-25 01:11:00)
資料庫 訂單商品表(單錶 商品銷量表)
訂單商品表 order detail 自動編號 訂單編號 商品編號 商品名稱 product name,商品可能刪除,所以這裡要記錄,不能直接讀商品表 商品 product price,商品可能刪除,所以這裡要記錄 商品型號 product marque,前台展示給客戶 商品條碼 product s...
MySQL子查詢關聯商品表和訂單表
在擼 寫程式的時候,免不了要用到mysql關聯表查詢語句,而今天在做商品訂單銷量排行的時候,就更用到mysql子查詢了。子查詢,說的通俗一點就是把乙個查詢得到的結果,作為查詢條件巢狀在另乙個查詢當中,輸出結果。如下 goods是商品表,order是訂單表 子查詢語句 select distinct ...
商城類專案生成商品編碼訂單編號工具類
public class codegenerateutils long randompart long math.random 90000 10000 string code 0 string.valueof newbigdecimal nanopart multiply new bigdecima...