加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

SQL错误:滥用聚合

发布时间:2021-03-13 22:04:14 所属栏目:编程 来源:网络整理
导读:SQLite版本3.4.0 聚合函数有什么题目?另外,我猜疑ORDER BY也不会奏效.怎样重写? sqlite SELECT p1.domain_id,p2.domain_id,COUNT(p1.domain_id) AS d1,COUNT(p2.domain_id) AS d2 ... FROM PDB as p1,Interacting_PDBs as i1,PDB as p2,Interacting_PDBs as

SQLite版本3.4.0
聚合函数有什么题目?另外,我猜疑ORDER BY也不会奏效.怎样重写?

sqlite> SELECT p1.domain_id,p2.domain_id,COUNT(p1.domain_id) AS d1,COUNT(p2.domain_id) AS d2
   ...> FROM PDB as p1,Interacting_PDBs as i1,PDB as p2,Interacting_PDBs as i2
   ...> WHERE p1.id = i1.PDB_first_id
   ...> AND p2.id = i2.PDB_second_id
   ...> AND i1.id = i2.id
   ...> AND d1>100
   ...> AND d2>100
   ...> ORDER BY d1,d2;
SQL error: misuse of aggregate: 
sqlite>

办理要领

当行使聚合函数(sum / count / …)时,还必需行使GROUP BY子句.

接下来,当您要过滤汇总的功效时,您不能在WHERE子句中执行此操纵,但必需在HAVING子句中执行该操纵.

SELECT p1.domain_id,COUNT(p2.domain_id) AS d2
    FROM PDB as p1,Interacting_PDBs as i2
    WHERE p1.id = i1.PDB_first_id
    AND p2.id = i2.PDB_second_id
    AND i1.id = i2.id
GROUP BY p1.domain_Id,p2.domain_Id
HAVING d1 > 100 AND d2 > 100
ORDER BY d1,d2;

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读