標籤:9.png 最小值 from har 使用 str ice arch 情況
按照分類的名稱統計每個分類商品所花的總錢數【排序查詢】
SQL中對查詢的列進行排序,使用關鍵字order by。預設情況下是升序的排序(從小到大的排序次序關鍵字 asc)。使用降序排序需要使用關鍵字desc。
查詢學生的資訊,對查詢到的資訊根據語文分數進行排序。
預設情況
添加asc的情況:
按照語文的分數從大到小排序。
按照英語成績降序排序,如果英語分數一致,按照數學分數降序排序。
查詢所有姓梁的學生,按照數學降序排序。
【彙總函式】
sum(); ---求和。
avg(); ---求平均值。
count(); ---統計個數。
max(); ---求最大值。
min(); ---求最小值。
統計表中的所有學生的個數。
統計表中姓梁的學生的個數
計算所有學生的英語成績的總分
計算各個學科的學生的總成績
目前兩個查詢的結果是一樣的,但是實質上兩種查詢不一樣的。上面的是豎著統計的值,而下面的是橫向統計的值。目前值一樣。
現在插入空值:
橫著統計,NULL+78+92 最終結果是NULL.豎著方向sum(english)+sum(math)+sum(chinese)將78和92的值也都統計進來了。也可以使用ifnull函數。
求出數學平均成績
取出數學的最高分是多少
獲得語文成績的最低分是多少
獲得姓張的同學的語文成績的最高分
【查詢的分組】
對得到的資料進行分組,使用的關鍵字group by 。分組的主要的目的是與彙總函式一起使用進行資料的統計情況的分析。
create table product(
id int primary key auto_increment,
name varchar(20),
price double,
cname varchar(20)
);
insert into product values (null,‘洗衣機‘,1000,‘家用電器‘);
insert into product values (null,‘冰箱‘,3000,‘家用電器‘);
insert into product values (null,‘洗衣機‘,1000,‘家用電器‘);
insert into product values (null,‘空調‘,2000,‘家用電器‘);
insert into product values (null,‘電腦‘,4000,‘電腦辦公‘);
insert into product values (null,‘機械鍵盤‘,300,‘電腦辦公‘);
insert into product values (null,‘機械鍵盤‘,300,‘電腦辦公‘);
按商品的名稱進行分組。
按商品的分類的名稱進行分組
按照商品名稱統計每個商品所購買的個數
按照商品的名稱統計每類商品所花的總錢數
獲得家用電器類的商品所花的總金額
按照分類的名稱統計每個分類商品所花的總錢數。查詢出總錢數大於5000的有哪些。
以上的寫法是錯誤的!!!因為where條件後不能加彙總函式。帶分組統計的條件,需要加在having後面。
1.1.1.2 對查詢語句進行總結:
查詢的語句是變化最多的語句。結構如下:
Select … From … where … group by … having … order by …;
SFWGHO…
帶你玩轉JavaWeb開發之六-mysql基本文法詳解及執行個體(4)