1. 程式人生 > >mysql --> select * from Employee group by name這樣的語法有什麽意義?

mysql --> select * from Employee group by name這樣的語法有什麽意義?

body 這樣的 employ item -- 神奇 nbsp 一個 個數

神奇的mysql才會支持select * from Employee group by name 這種反邏輯的SQL(假定該表非僅name一個列)

mysql 的邏輯是:select 的返回字段,如果不在groupby中,也不是統計函數,那麽字段的取值是從匹配的記錄中隨機取的;在做表關聯統計的時候,可以簡化 group by 後面的字段,只需要 group by parent.id 就可以了,而不用把 parent 的所有字段都列出來

在表關聯統計的時候,mysql這種特性可以簡化 group by 後面的字段,但跟排序沒太大關系
例如,訂單表inv和明細表item,如果想返回inv的所有字段和item的個數,可以這樣寫:

select inv.*, count(itme.id) item_count
from inv left join item on inv.id=item.inv_id
group by inv.id

mysql --> select * from Employee group by name這樣的語法有什麽意義?