97久久精品人人澡人人爽_亚洲天堂二区_看黄a大片免费_国产欧美网站

Mysql中的count()與sum()區別詳細介紹

時間:2015-03-10 來源:文率科技博客
文率科技技術貼接著為廣大互聯網技術愛好者分析技術解決方案, 今天文率技術部分分享介紹Mysql中的count()與sum()區別,需要的朋友可以參考下: 首先創建個表說明問題 代碼如下: CREATE TABLE `result` ( `name` varchar(20) default NULL, `subject` varchar(20) default NULL, `score` tinyint(4) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 插入一些數據, 代碼如下: insert into result values ('張三','數學',90), ('張三','語文',50), ('張三','地理',40), ('李四','語文',55), ('李四','政治',45), ('王五','政治',30), ('趙六','語文',100), ('趙六','數學',99), ('趙六','品德',98); 要求:查詢出2門及2門以上不及格者的平均成績。 經常會用兩種查詢語句有兩種: 代碼如下: select name,sum(score < 60) ,avg(score) from result group by name having sum(score<60) >=2; 代碼如下: select name ,count((score<60)!=0) as a,avg(score) from result group by name having a >=2; 兩種查詢的結果肯定是不一樣的,肯定是⑴種正確的,原因是為什么,這時你就要想了,count()函數的意義和sum函數的意義 count()函數里面的參數是列名的的時候,那么會計算有值項的次數。 Sum()函數里面的參數是列名的時候,是計算列名的值的相加,而不是有值項的總數。 對count()行數還要注意:它會計算總行數。不管你是否有值都會列入計算范圍。另外一點:mysqlisam引擎很容易獲得總行數的統計。查詢速度變得更快 歸納:實際編程中統計總行數是經常用到的。此時使用count(*)多處可見。我很少看到有人使用列名作為參數:count(a)的情況。即使是這樣使用,可能其初衷也是想統計行數。只是不知道!這樣所造成的細微差異而錯誤使用了"列名"的形式。

熱門文章

微信公眾帳號
微信公眾帳號
新浪微博
新浪微博

聯絡方式:

中國 · 天津市河西區南京路35號亞太大廈1403室
電話:15620613686
郵編:300220