未定义列的 Where 子句
Where clause for undefined columns
我正在编写一个查询,但 运行 遇到了问题。
select name, address, count(BL.card_no)
from Book_Loans BL
inner join Borrower B on BL.card_no = B.card_no
where count(BL.card_no) > 1 group by name;
这不起作用,因为我不能使用 "where count(BL.card_no) > 1",因为它说 "Invalid use of group function." 但我需要确保只显示大于 1 的卡号,我还能怎么做?
您必须将谓词放在 HAVING
子句中:
select name, address, count(BL.card_no)
from Book_Loans BL
inner join Borrower B on BL.card_no = B.card_no
group by name
having count(BL.card_no) > 1;
聚合函数使用 having 而不是 where
select name, address, count(BL.card_no)
from Book_Loans BL
inner join Borrower B on BL.card_no = B.card_no
group by name
having count(BL.card_no) > 1;
我正在编写一个查询,但 运行 遇到了问题。
select name, address, count(BL.card_no)
from Book_Loans BL
inner join Borrower B on BL.card_no = B.card_no
where count(BL.card_no) > 1 group by name;
这不起作用,因为我不能使用 "where count(BL.card_no) > 1",因为它说 "Invalid use of group function." 但我需要确保只显示大于 1 的卡号,我还能怎么做?
您必须将谓词放在 HAVING
子句中:
select name, address, count(BL.card_no)
from Book_Loans BL
inner join Borrower B on BL.card_no = B.card_no
group by name
having count(BL.card_no) > 1;
聚合函数使用 having 而不是 where
select name, address, count(BL.card_no)
from Book_Loans BL
inner join Borrower B on BL.card_no = B.card_no
group by name
having count(BL.card_no) > 1;