事情很簡單,爲什麼SQL標準不允許COUNT(col1, col2, ..., colN)
?背後的原因是什麼?爲什麼SQL標準不允許COUNT(col1,col2,...,colN)
這很奇怪,因爲viceversa,SQL標準允許COUNT(DISTINCT col1, col2, ..., colN)
。
事情很簡單,爲什麼SQL標準不允許COUNT(col1, col2, ..., colN)
?背後的原因是什麼?爲什麼SQL標準不允許COUNT(col1,col2,...,colN)
這很奇怪,因爲viceversa,SQL標準允許COUNT(DISTINCT col1, col2, ..., colN)
。
COUNT(NAME),COUNT(SURNAME)會顯示所有姓名和姓氏。在這種情況下,ALL都是非法的。
'COUNT(NAME,SURNAME)'本身是非法的。目前沒有這樣的語法。 – Rahul
你的權利,沒有足夠的重視,相應地修改職位。對不起 –
你想要什麼?只需COUNT(*)
爲您提供'想要的'答案。
COUNT(*)
是通常用的東西。它計算行(數量由WHERE
並受過濾,GROUP BY
後COUNT(col)
是常見的,但往往是沒有必要 - 它計數與col IS NOT NULL
行COUNT(DISTINCT col)
決定有多少個不同的值有用於col
COUNT(DISTINCT col1, col2)
決定有多少個不同的值有用於col1和COL2的組合。如果你想知道爲什麼的MySQL/MariaDB的選擇離開的是語法,你可能要問誰開發人SQL標準。
是的,您遇到了這個問題:爲什麼開發SQL標準的人會忽略這種語法? – zer0uno
expr代表表達式。 – jarlh
@歡迎。 。 。我甚至沒有看到'COUNT()'中允許使用'ALL'關鍵字。也許你只是想'COUNT(*)'。 –
@jarlh我的錯,我的意思不是代表縮寫的意思,而是作爲非終結符號。 – zer0uno