2018/08/17--mysql数据库

SELECT AVG(prod_price) AS avg_price FROM products;

SELECT COUNT(*) FROM customers;

SELECT COUNT(cust_email) FROM customers;

SELECT MAX(prod_price) AS max_price FROM products;

SELECT MIN(prod_price) AS min_price FROM products;

SELECT SUM(quantity) AS items_ordered FROM orderitems WHERE order_num=20005;

SELECT COUNT(*) AS num_items,MAX(prod_price) AS max_price,MIN(prod_price) AS min_price,AVG(prod_price) AS avg_price FROM products;

SELECT COUNT(*) AS num_prods FROM products WHERE vend_id=1003;

SELECT vend_id,COUNT(*) AS num_prod FROM products GROUP BY vend_id;

SELECT vend_id,COUNT(*) AS num_prod FROM products GROUP BY vend_id WITH ROLLUP;

SELECT cust_id,cust_name,cust_contact,cust_email FROM customers;

cust_id cust_name cust_contact cust_email
10001 Coyote Inc. Y Lee [email protected]
10002 Mouse House Jerry Mouse NULL
10003 Wascals Jim Jones [email protected]
10004 Yosemite Place Y Sam [email protected]
10005 The Fudds E Fudd [email protected]

SELECT COUNT(*) AS cust_num FROM customers;

cust_num
5

SELECT COUNT(cust_email) AS cust_num FROM customers;

cust_num
4

关于COUNT(*)和COUNT(列名)

COUNT(*) :对表中所有行进行计数,不管值是空值还是非空值

COUNT( 列名) :对表中具有值的行进行计数,忽略NULL值

SELECT * FROM orderitems;

order_num order_item prod_id quantity item_price
20005 1 ANV01 10 5.99
20005 2 ANV02 3 9.99
20005 3 TNT2 5 10.00
20005 4 FB 1 10.00
20006 1 JP2000 1 55.00
20007 1 TNT2 100 10.00

SELECT SUM(quantity) AS items_ordered FROM orderitems WHERE order_num=20005;

items_ordered
19

SELECT prod_id,vend_id,prod_name,prod_price FROM products;

prod_id vend_id prod_name prod_price
AVN01 1001 .5 ton anvil 5.99
AVN02 1001 1 ton anvil 9.99
AVN03 1001 2 ton anvil 14.99
DTNTR 1003 Detonator 13.00
FB 1003 Bird seed  10.00
FC 1003 Carrots 2.50
FU1 1002 Fuses 3.42
JP1000 1005 JetPack 1000 35.00
JP2000 1005 JetPack 2000 55.00
OL1 1002 Oil can 8.99
SAFE 1003 Safe 50.00
SLING 1003 Sling 4.49
TNT1 1003 TNT (1 stick) 2.50
TNT2 1003 TNT(2 sticks) 10.00

SELECT vend_id,COUNT(*) AS num_prods FROM products GROUP BY vend_id;

vend_id num_prods
1001 3
1002 2
1003 7
1005 2

关于WITH ROLLUP

WITH ROLLUP,在分组统计的基础上再进行统计汇总

SELECT vend_id,COUNT(*) AS num_prod FROM products GROUP BY vend_id;

vend_id num_prod
1001 3
1002 2
1003 7
1005 2

SELECT vend_id,COUNT(*) AS num_prod FROM products GROUP BY vend_id WITH ROLLUP;

vend_id

num_prod

1001 3
1002 2
1003 7
1005 2
NULL 14

猜你喜欢

转载自blog.csdn.net/qzw752890913/article/details/81772833
今日推荐