SELECT 左连接中的 COUNT(*)
SELECT COUNT(*) in a Left Join
所以,我有一个简单的左连接:
SELECT
a.SetNumber,
a.SetID,
COUNT(a.QuantityOwned) AS Pwnd,
b.ImageURL,
COUNT(a.Quantity) AS Cmplt
FROM a
LEFT JOIN b ON a.SetNumber = b.Number
GROUP BY a.SetID
产生这个:
SetNumber 11 21 13
SetID 1 2 1
Pwnd 45 33 50
Cmplt 50 36 50
ImgURL a.jpg b.jpg c.jpg
这很好,当我使用数据时,但我想在我的分页中有一个 >> 箭头,为此我想获得行数,即在这种情况下所需的结果是:
3
我知道我可以在一个 table 中计算 COUNT(*)
的行数,但我如何在左连接中计算?
我想你需要这样做
SELECT COUNT(1) FROM (SELECT a.SetNumber, a.SetID, COUNT(a.QuantityOwned) AS Pwnd ,b.ImageURL, COUNT(a.Quantity) AS Cmplt
FROM a
LEFT JOIN b ON a.SetNumber = b.Number
GROUP BY a.SetID) table1
left join
不是这里的问题,而是 group by
但是很多"Libraries"允许像
这样计算结果
$result->count();
在我看来,如果您使用 JAVA、php 等...您不需要执行另一个请求
所以,我有一个简单的左连接:
SELECT
a.SetNumber,
a.SetID,
COUNT(a.QuantityOwned) AS Pwnd,
b.ImageURL,
COUNT(a.Quantity) AS Cmplt
FROM a
LEFT JOIN b ON a.SetNumber = b.Number
GROUP BY a.SetID
产生这个:
SetNumber 11 21 13
SetID 1 2 1
Pwnd 45 33 50
Cmplt 50 36 50
ImgURL a.jpg b.jpg c.jpg
这很好,当我使用数据时,但我想在我的分页中有一个 >> 箭头,为此我想获得行数,即在这种情况下所需的结果是:
3
我知道我可以在一个 table 中计算 COUNT(*)
的行数,但我如何在左连接中计算?
我想你需要这样做
SELECT COUNT(1) FROM (SELECT a.SetNumber, a.SetID, COUNT(a.QuantityOwned) AS Pwnd ,b.ImageURL, COUNT(a.Quantity) AS Cmplt
FROM a
LEFT JOIN b ON a.SetNumber = b.Number
GROUP BY a.SetID) table1
left join
不是这里的问题,而是 group by
但是很多"Libraries"允许像
这样计算结果$result->count();
在我看来,如果您使用 JAVA、php 等...您不需要执行另一个请求