例如:
@SuppressWarnings("checkstyle:AbbreviationAsWordInName")
这给了我所有与患者一起检查的医生的清单,但是我想只显示检查次数超过10的医生给我的sql添加什么
答案 0 :(得分:0)
您使用聚合函数作为计数的事实如果您只想要结果超过10 COUNT(checkup.doctor)
您可以使用
过滤结果SELECT doctor.name,doctor.surname,COUNT(checkup.doctor)
FROM doctor
INNER JOIN checkup doctor.id=checkup.doctor
GROUP BY doctor.name
Having COUNT(checkup.doctor) > 10
ORDER BY COUNT(checkup.doctor)
where子句在选择行上工作,所以不知道聚合结果的结果..对于这个SQL,使用过滤选择结果的having子句
答案 1 :(得分:0)
试试这个:您可以使用HAVING
子句过滤掉聚合结果并尝试避免过时的连接。 Surname
并不代表GROUP BY
,因此您使用MAX
选择并从GROUP BY
中删除或保留原样:
SELECT doctor.name
, doctor.surname
, COUNT(checkup.doctor)
FROM doctor
INNER JOIN checkup ON doctor.id = checkup.doctor
GROUP BY doctor.name, doctor.surname
HAVING COUNT(checkup.doctor) > 10
答案 2 :(得分:0)
您希望根据聚合结果限制结果行。您可以在<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>
<div id="content">
<h1>My Favorite Flowers</h1>
<div class="flowers">
<h2>Hydrangia</h2>
<p><i>Hydrangea</i></p>
<img src="https://www.almanac.com/sites/default/files/image_nodes/hydrangea-1715775_640_copy.jpg"/>
<p>Sun</p>
</div>
<div class="flowers">
<h2>Hydrangia</h2>
<p><i>Hydrangea</i></p>
<img src="https://www.almanac.com/sites/default/files/image_nodes/hydrangea-1715775_640_copy.jpg"/>
<p>Sun</p>
</div>
<div class="flowers">
<h2>Hydrangia</h2>
<p><i>Hydrangea</i></p>
<img src="https://www.almanac.com/sites/default/files/image_nodes/hydrangea-1715775_640_copy.jpg"/>
<p>Sun</p>
</div>
<div class="flowers">
<h2>Hydrangia</h2>
<p><i>Hydrangea</i></p>
<img src="https://www.almanac.com/sites/default/files/image_nodes/hydrangea-1715775_640_copy.jpg"/>
<p>Sun</p>
</div>
<div class="flowers">
<h2>Hydrangia</h2>
<p><i>Hydrangea</i></p>
<img src="https://www.almanac.com/sites/default/files/image_nodes/hydrangea-1715775_640_copy.jpg"/>
<p>Sun</p>
</div>
</div>
子句中执行此操作。
关于您的查询:什么是HAVING
?每个医生都有一个独特的名字?否则更好地按ID分组 - 只有这样才能使此查询根据SQL标准有效。然后你使用我们在20世纪90年代停止使用的连接语法。请使用正确的ANSI连接。
我喜欢在加入之前聚合,但这只是个人偏好:
name
您也可以使用
select d.name, d.surname, c.checkups
from doctor
join
(
select doctor as doctor_id, count(*) as checkups
from checkup
group by doctor
having count(*) > 10
) c on c.doctor_id = d.id
order by d.id;
答案 3 :(得分:-1)
我认为这对你有用:
NodeUnderMemoryPressure