SQL 模擬生成商品訂單表

2021-10-08 22:41:02 字數 2028 閱讀 3002

想練習 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...