where:是利用數據庫本來存在的數據在查詢,是在group by、having之前執行。
group by:是將本來就有的數據按照條件進行分組。
having:是將數據庫沒有的數據,可以理解為group by后的數據,再次進行條件判斷查詢,在group by后執行。
例如場景查詢:按手機號分組查出權限種類數大於1的手機號
select count(distinct role),mobile from 表名 group by mobile having count(distinct role) > 1;