mysql使用技巧

今天使用MySQL查詢,有幾個知識點

mysql分組排序並獲得排序號碼

  數據表 grades:

  

  需要得到查詢結果:

  sql語句:

  select *, (select count(1) + 1 from grades B where A.gender = B.gender and A.grade < B.grade) as rank from grades A order by gender , grade desc;

參見:

select count(*)和select count(1)的區別 

一般情況下,Select Count (*)Select Count(1)兩着返回結果是一樣的

    假如表沒有主鍵(Primary key), 那麼count(1)count(*)快,

    如果有主鍵的話,那主鍵作爲count的條件時候count(主鍵)最快

    如果你的表只有一個字段的話那count(*)就是最快的

   count(*) count(1) 的結果一樣,都包括對NULL的統計,而count(column) 是不包括NULL的統計


select sum(1)的使用 
select count(*)返回所有滿足條件的記錄數,此時同select sum(1)
但是sum()可以傳任意數字,負數、浮點數都可以,返回的值是傳入值n*滿足條件記錄數m

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章