【发布时间】:2019-09-27 08:40:12
【问题描述】:
我有两个想要划分的 COUNT() 结果,但是当我尝试将其组合成一个查询时它不起作用。当我尝试运行此代码时,出现“在“SELECT”处或附近出现语法错误:
SELECT COUNT(student.userid) FROM borrowed CROSS JOIN student WHERE student.userid = borrowed.userid AND current_date > expiredate AND returndate IS NULL / SELECT COUNT(userid) FROM student;
该代码应该能够获取当前延迟归还图书的“学生”的百分比。由“/”分隔的两个代码 sn-ps 都可以单独工作。左边:
SELECT COUNT(student.userid) FROM borrowed CROSS JOIN student WHERE student.userid = borrowed.userid AND current_date > expiredate AND returndate IS NULL;
生成一个包含值 2 的计数表。右侧:
SELECT COUNT(userid) FROM student;
生成一个包含值 15 的计数表。
我想要得到的是百分比。所以 2/15 应该给我 13,3 % 之类的东西。如何将其作为单个查询解决?除法必须以某种方式浮动(或其他小数)。有人可以为我提供解决此问题的查询吗?谢谢
【问题讨论】:
-
SELECT COUNT(*) / (SELECT COUNT(*) FROM... ) FROM ...
标签: sql database postgresql database-design