使用Count限制查询结果

时间:2017-01-23 15:50:21

标签: sql count

我需要限制查询的结果,以便它只会在ID上的行总数小于4的情况下提取结果,并且我不确定如何在不丢失select语句列的情况下执行此操作。

select fje.journalID, fjei.ItemID, fjei.acccount, fjei.debit, fjei.credit
from JournalEntry fje
inner join JournalEntryItem fjei on fjei.journalID = fje.journalID
inner join JournalEntryItem fjei2 on fjei.journalID = fjei2.journalID and   
       fjei.ItemID != fjei2.ItemID
order by fje.journalID

因此,如果journalID 1有5行,则应将其排除,但如果它有4行,我应该在查询中看到它。只需要朝着正确的方向努力。谢谢!

1 个答案:

答案 0 :(得分:1)

带有别名的子查询有很多名称,但它实际上是一个表。在你的情况下,你会做这样的事情。

 select your fields
 from your tables
 join (
 select id, count(*) records
 from wherever
 group by id ) derivedTable on someTable.id = derivedTable.id
     and records < 4