我对(简单)SQL 查询有疑问。
背景是,每个Book
都有一个(或多个)定义BookLanguages
该查询返回 9 本书,这是可以的。
SELECT b.BookID
FROM Book b
JOIN BookLanguages bls ON b.BookID = bls.BookID
WHERE b.IsActive= 1
AND
bls.BookLanguageID = 25
GROUP BY b.BookID
但是,我必须有符合该标准的总书数(用于分页目的)。
如果我只是运行该查询
SELECT COUNT(b.BookID)
FROM Book b
JOIN BookLanguages bls ON b.BookID = bls.BookID
WHERE b.IsActive= 1
AND
bls.BookLanguageID = 25
GROUP BY b.BookID
我得到 9 行,值为 1(这是语言计数,因为当我删除AND bls.BookLanguageID = 25
条件时,我得到 9 行,值为 1 或 2 - 因为有些书定义了 2 种语言)
所以,关键是 - 如何只获得9
数字而不是 9 行?