簡體   English   中英

組的無效使用

[英]invalid use of group

我一直在嘗試在php上執行此操作,從mysql中的db表讀取,但是我無法理解它的錯誤所在。 有人可以幫我嗎? 表格作為包含數字的列(此數字代表課程:P)

SELECT *, MAX(COUNT(mi_curso)) maximo
FROM producto
GROUP BY mi_curso

這是顯示的錯誤:

consulta SQL:
SELECT *, MAX(COUNT(mi_curso)) maximo
FROM producto
GROUP BY mi_curso LIMIT 0, 25

MySQL ha dicho: Documentación 
#1111 - Invalid use of group function

您正在嘗試嵌套兩個聚合函數,但它們不起作用。 而是,使用以下兩個查詢之一:

SELECT *, MAX(mi_curso) maximo
FROM producto
GROUP BY mi_curso

要么

SELECT *, COUNT(mi_curso) maximo
FROM producto
GROUP BY mi_curso

您能嘗試以下內容並發表評論嗎?

SELECT id, COUNT(mi_curso) maximo FROM producto GROUP BY mi_curso having max(count(mi_curso))

編輯:根據蒂姆·比格萊森(Tim Biegeleisen)的建議

SELECT id, COUNT(mi_curso) maximo FROM producto GROUP BY mi_curso having max(count(maximo))

分組方式最常見的問題是什么...

在選擇列表中包括非匯總...。

select *可能包含mi_curso以外的其他列。 如果是這樣,此分組依據將不起作用。

您可以選擇聚合以及GROUP BY表達式中包含的列。

如果您這樣做(例如)

select name, address, count(name)
from residences
group by name

當一個人擁有1個以上居住地時,sql應該為地址傳遞什么值? 沒有辦法知道。

某些sql可以給出清晰的錯誤消息。 有些人只是對你眨眨眼,好像你已經知道怎么了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM