最近工作中,有需要新做頁面統計資料總數,於是就按照條件規矩的分組查詢,先查出總數,然後對分組過後的資料進行單個查詢。寫完就跑了一下,結果正確。不過按條件查詢的時候,點了幾下,測試一下,發現查詢速度有點慢(資料暫時還不多),想著以後資料多的話,頁面會不會很慢,能不能乙個sql,把所有的數量都查出來。於是,在網上搜了一下,count()函式內能不能加條件計數,測試了一下,資料正確,sql如下 :
select
count(1) as '總數',
count (xjzt = '1' or null) as '狀態1',
count (xjzt = '2' or null) as '狀態2'
from
t_table
where
sfsc = 0
group by
'欄位1',
'欄位2'
至於為什麼條件裡要加上 or null,我也搜了一下,連線如下:
總結的不完善,如有問題,歡迎指導。
SQL中的三種count 函式
資料庫的使用中,count 函式用於統計資料表的記錄,返回匹配指定條件的行數。資料表的資料量很大時,對資料表作分析,使用 count 1 比使用 count 用時多。從執行計畫看,count 1 count 的效果是相同的,但實際 count 1 的執行用時相對較少 1w以內資料量 如果count ...
MySql中的count 函式
1.count 函式是用來統計表中記錄的乙個函式,返回匹配條件的行數。2.count 語法 1 count 包括所有列,返回表中的記錄數,相當於統計表的行數,在統計結果的時候,不會忽略列值為null的記錄。2 count 1 忽略所有列,1表示乙個固定值,也可以用count 2 count 3 代替...
MySql中的count函式
1.count 函式是用來統計表中記錄的乙個函式,返回匹配條件的行數。2.count 語法 1 count 包括所有列,返回表中的記錄數,相當於統計表的行數,在統計結果的時候,不會忽略列值為null的記錄。2 count 1 忽略所有列,1表示乙個固定值,也可以用count 2 count 3 代替...