日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 默认站点!

默认站点

當(dāng)前位置: 首頁(yè) >

Mysql 查询统计练习

發(fā)布時(shí)間:2023/12/6 33 豆豆
默认站点 收集整理的這篇文章主要介紹了 Mysql 查询统计练习 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

1、建表

customers 顧客表

products 產(chǎn)品表

orders 訂單表

-- 顧客表 CREATE TABLE customers (c_id INT NOT NULL AUTO_INCREMENT,lastname VARCHAR(255),firstname VARCHAR(255),address VARCHAR(255),birthday DATETIME,PRIMARY KEY (c_id) ); -- 產(chǎn)品表 CREATE TABLE products (p_id INT NOT NULL AUTO_INCREMENT,productname VARCHAR(255),price FLOAT(12 , 3 ), -- 寫(xiě) 3 是為了等一下試一下 round 函數(shù)stock INT,PRIMARY KEY (p_id) ); -- 訂單表 CREATE TABLE orders (o_id INT NOT NULL AUTO_INCREMENT,c_id INT,p_id INT,quantity INT,create_time DATETIME,PRIMARY KEY (o_id),-- 曾經(jīng)有前輩和我說(shuō),在 Mysql 中外鍵約束不適合在高并發(fā)情況下使用,容易死鎖,這里只是練習(xí)FOREIGN KEY (c_id) REFERENCES customers (c_id),FOREIGN KEY (p_id)REFERENCES products (p_id) );

2、增加數(shù)據(jù)

-- Add some data to customers insert into customers values (null, '三', '張', '上海市黃浦區(qū)', '1988-09-29 18:20:18'); insert into customers values (null, '四', '李', '上海市靜安區(qū)', '1992-01-15 19:17:55'); insert into customers values (null, '無(wú)', '錢(qián)', '上海市浦東新區(qū)', '1982-07-25 05:21:37'); insert into customers values (null, '吳', '周', '上海市虹口區(qū)', '1995-02-18 12:30:09'); insert into customers values (null, '王', '鄭', '上海市徐匯區(qū)', '1999-01-19 11:45:18'); -- Just select SELECT * FROMcustomers; -- Add some data to products insert into products values (null, '無(wú)線路由器', 110.091, 100); insert into products values (null, '雷蛇鼠標(biāo)', 320.50, 200); insert into products values (null, 'cherry 鍵盤(pán)', 600.1, 300); insert into products values (null, 'AOG 顯示器', 1100.0, 400); insert into products values (null, '甜筒', 3, 500); -- Just select SELECT * FROMproducts; -- Let buy some products for add data to orders insert into orders values (null, 1, 1, 1, date_sub(now(),interval 1 day)); insert into orders values (null, 1, 2, 2, date_sub(now(),interval 1 day)); insert into orders values (null, 1, 3, 3, date_sub(now(),interval 2 day)); insert into orders values (null, 1, 4, 4, date_sub(now(),interval 2 day)); insert into orders values (null, 2, 5, 7, date_sub(now(),interval 5 hour)); insert into orders values (null, 3, 2, 1, date_sub(now(),interval 5 hour)); insert into orders values (null, 4, 4, 2, now()); insert into orders values (null, 4, 5, 2, now()); -- Just select SELECT * FROMorders;

3、做統(tǒng)計(jì)

(1)當(dāng)天 雷蛇鼠標(biāo)的銷(xiāo)售額

-- 當(dāng)天 雷蛇鼠標(biāo)的銷(xiāo)售額 SELECT SUM(o.quantity) AS router_sales_quantity FROMorders oLEFT JOINproducts p ON o.p_id = p.p_id WHEREp.productname = '雷蛇鼠標(biāo)'AND DATE(o.create_time) = DATE(NOW());

(2)雷蛇鼠標(biāo) 在 80 后人群中的銷(xiāo)售額

-- 雷蛇鼠標(biāo) 在 80 后人群中的銷(xiāo)售額 SELECT round(sum(o.quantity * p.price), 2) as productname_sum_money FROMorders oLEFT JOINproducts p ON o.p_id = p.p_idLEFT JOINcustomers c ON o.c_id = c.c_id WHEREp.productname = '雷蛇鼠標(biāo)'AND EXTRACT(YEAR FROM c.birthday) BETWEEN '1980' AND '1990';

(3)80 , 90 后人群的總銷(xiāo)售額和平均銷(xiāo)售額

-- 80 , 90 后人群的總銷(xiāo)售額和平均銷(xiāo)售額 SELECT CASEWHENEXTRACT(YEAR FROM c.birthday) >= '1980'AND EXTRACT(YEAR FROM c.birthday) < '1990'THEN'80'WHENEXTRACT(YEAR FROM c.birthday) >= '1990'AND EXTRACT(YEAR FROM c.birthday) < '2000'THEN'90'ELSE 'null'END AS age,ROUND(SUM(o.quantity * p.price), 2) AS sum_money,ROUND(AVG(o.quantity * p.price), 2) AS avg_money FROMorders oLEFT JOINproducts p ON o.p_id = p.p_idLEFT JOINcustomers c ON o.c_id = c.c_id GROUP BY age;

...

有空繼續(xù)增加統(tǒng)計(jì)查詢(xún)的內(nèi)容

轉(zhuǎn)載于:https://my.oschina.net/yudongyang/blog/1539967

總結(jié)

以上是默认站点為你收集整理的Mysql 查询统计练习的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得默认站点網(wǎng)站內(nèi)容還不錯(cuò),歡迎將默认站点推薦給好友。