欧美日韩国产一区,亚洲一区视频,色综合久久久久,私密按摩师舌头伸进去了,99re6这里只有精品,夜夜性日日交xxx性hd

11.分組查詢

  • • 發表于 6年前
  • • 作者 大妖怪
  • • 11875 人瀏覽
  • • 7 條評論
  • • 最后編輯時間 6年前
  • • 來自 [技 術]

原創聲明:本文為作者原創,未經允許不得轉載,經授權轉載需注明作者和出處

修改一下數據庫中的age:

現在的需求是,統計一下每個年齡的數據各有多少個:

SELECT COUNT(id) '人數', age '年齡' FROM person GROUP BY age;


對沒錯,在mysql中,通過GROUP BY 對某個字段或者多個字段進行分組查詢。
上面是分組統計,那么能否用分組查詢數據呢:

SELECT * FROM person GROUP BY age;

很遺憾,上面這句是錯的,

它報了這么個錯:

Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'mysqltest.person.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

說了這么一大堆,其實意思就是說要查詢的字段不包含在被分組的字段中,換句話說,也就是要查詢的字段必須從后面GROPU BY 中來選擇,所以如果這句話改成這樣就對了:

SELECT age FROM person GROUP BY age;


分組也是可以根據多個字段分組的,比如:

SELECT age FROM person GROUP BY age, name;


那么,既然分組的字段有個name,那就應該是可以查詢name的:

SELECT age, name FROM person GROUP BY age, name;


當然,這個結果可能有些看不懂,修改一下數據庫試試:

這次再運行,并且調換一下GRUOP BY 后面字段的順序:

可以發現,如果是age在前面就主要以age來進行分組,然在此基礎上再以name為基礎再繼續分組,如果是name在前面就主要以name來進行分組,然在此基礎上再以age為基礎再繼續分組,
因此GROUP BY 的分組優先級也是從前往后的,至于為什么’三妖怪’,每次都只顯示一條,是因為三條的age和name是一樣的,他們算是一組,所以只顯示一條。
說下我個人見解,我認為GROUP BY 大部分情況下用用來統計數據比較多,至于這個查詢,我是沒研究出有什么實際用途,知道的可以留言討論。

分享到:
7條評論
Ctrl+Enter
作者

大妖怪

大妖怪

APP:1 帖子:76 回復:200 積分:7517

已加入社區[2952]天

夢里巷口,可有你倚門回首

作者詳情》
Top