2017-06-07 71 views
-1

我有下面的查询返回一个小于20的类的名称,如果没有小于20的类,它会添加一个新的。问题是,当我从这个查询返回两行的全部类中删除一个用户。 我只需要返回第一行。选择第一行后goup

SELECT exam_venue AS venue 
    FROM application 
WHERE class_level = 1 
    AND rownumber = 1 
GROUP 
    BY venue 
HAVING COUNT(id) < 20 
+0

这不会'添加'任何东西!?!请参阅:[为什么我应该为我认为是非常简单的SQL查询提供一个MCVE?](https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-对于什么似乎对我来说是一个非常简单的SQL查询) – Strawberry

回答

0

SELECT exam_venue AS场地FROM应用WHERE class_level = 1 AND ROWNUMBER = 1 GROUP BY场地HAVING COUNT(ID)< 20 LIMIT 0,1

+0

请注意,没有ORDER BY的LIMIT是相当无意义的。 – Strawberry

+0

我没有rownumber列因此我得到错误未知列rownumber –

-1

一个简单的方法可以是下列:::

SELECT TOP 1 exam_venue AS venue, COUNT(id) 
FROM application 
WHERE class_level = 1 
GROUP BY venue 
HAVING COUNT(id) < 20 
+0

没有行号列 –

+0

根据您的代码片段,我认为“rownumber”是一个字段名。 如果它不是,那么删除从“WHERE”条款 @MuharremSmakiqi – PrinceKayastha

+0

即使我删除TOP 1是不承认 –