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 |