我正在尝试找到一种方法来选择和计算数据库中的某些行。我正在查看 MySQL 文档,这是我想出的:
$query = "SELECT *, COUNT(*) as total WHERE IMAGE != '' AND CATEGORY = '$category' $limit";
但这会在完成后输出一行... :(
我试过:
$query = "SELECT * FROM PRODUCTS,
(SELECT COUNT(*) as total FROM PRODUCTS WHERE IMAGE != '' AND CATEGORY = '$category') as x
WHERE IMAGE != '' AND CATEGORY = '$category' $limit";
这行得通,但是我真的不知道这是否会执行得很好,因为有两个 SELECT 语句(我不需要 'as x',但没有这个查询会失败)。
有没有更好的方法? 谢谢
最佳答案
另一种方法是使用sub-query
但不确定性能应该只执行一次,因为没有来自外部表的关联
SELECT *, (select COUNT(*) from PRODUCTS) as total
WHERE IMAGE != ''
AND CATEGORY = '$category' $limit
关于mysql - 选择并计算同一查询中的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38104018/