【发布时间】:2012-10-19 23:42:13
【问题描述】:
这是我的数据
newCatCols
=====
id sku name
---------------
1 4001 Black
2 4031 Red
3 4021 Black
4 4041 Blush
products
=====
id sku Price
---------------
1 4001 123
2 4031 232
3 4021 453
4 4041 233
这是我的查询
SELECT COUNT( * ) AS numTotal
FROM `products`
INNER JOIN `colors` ON `products`.`sku` = `colors`.`sku`
WHERE (
`name` = 'Apple_Black'
OR `name` = 'Black'
OR `name` = 'Black_Aubergine'
OR `name` = 'Black_Blush'
OR `name` = 'Black_Slate'
OR `name` = 'Black_Turquoise'
OR `name` = 'Red_Black'
OR `name` = 'Sapphire_Black'
OR `name` = 'Multi Apple'
)
AND `status` = '1'
AND `category` = 'sig'
GROUP BY `products`.`sku`
ORDER BY `products`.`rank` ASC
理想情况下,如果我只是更改此行将是完美的SELECT COUNT( * ) AS numTotal 以某种方式仅修改它以使其工作?数据当前返回行值为 1 的产品列表,因此它只是循环而不计算所有行的总值。
应该只显示返回的总数,例如应该显示 4
Output
=====
numTotal
---------------
4
【问题讨论】:
-
你到底想要什么?你能发布你想要的结果吗?
-
已更新,它应该只返回查询中的总值。目前它只是循环所有项目
-
因为有 4 条记录,所以不要循环这 4 条,它应该只是吐出数字 4
标签: mysql join count inner-join