SQL:ALL运算符和最大值

时间:2018-02-12 11:25:12

标签: sql group-by max

我不明白为什么ALL运算符与>=运算符返回最大值;例如我发现的一本书

 select S.surname as surname, S.name as name, count(P1.id) as counting 
 from S join P as P1 on S.cf=P1.cf 
 group by S.name, S.surname having count(P1.id)>= ALL
 ( 
     select count(P2.id) from P as P2 group by P2.CF 
 )

我了解如果a > ALL (1,2,3)大于3,a会返回true,因为如果true大于列表中的所有元素,我将获得a; 但是>=我有更大的OR等于'那么'是什么意思? a大于或等于我列表中的所有元素'?例如3>=ALL(1,2,3)不大于列表中的所有元素,并且它不等于列表中的所有元素,因此它不满足条件,所以为什么该查询应该返回最大值是3?

更新 我发现这种行为的书就是这个 https://books.google.it/books/about/Sistemi_di_basi_di_dati_e_applicazioni.html?id=ObenCgAAQBAJ&printsec=frontcover&source=kp_read_button&redir_esc=y#v=onepage&q&f=false 第143页的预览显示了我所说的

的示例

0 个答案:

没有答案