0
這裏是我的查詢:與LIMIT MySQL查詢,LEFT JOIN和SQL_CALC_FOUND_ROWS
SELECT *
FROM designs AS d
LEFT JOIN categories AS c
ON d.category = c.category
GROUP BY d.name ASC LIMIT 0, 10
我想返回找到沒有適當的限制條件的行數。這是我的思路:
SELECT SQL_CALC_FOUND_ROWS '0', *
FROM designs AS d
LEFT JOIN categories AS c
ON d.category = c.category
GROUP BY d.name ASC LIMIT 0, 10
UNION
SELECT '1', FOUND_ROWS()
這是行不通的。我得到一個列#不匹配。我將如何修改查詢的工作?
是的,這是我的問題(在第二個查詢中返回的列較少),但我不知道如何使列匹配或找到另一個查詢解決方案,從而得到沒有「限制」的所有行的計數「考慮在內。我總是可以運行2個查詢,但認爲可能有更優雅的方式。 – MarkL
只需在第二個查詢中添加更多列:SELECT'1',FOUND_ROWS(),NULL,NULL,NULL,...,NULL。另外,在我看來,最好總是定義從數據庫中檢索的列,而不是使用星號(*) –