【发布时间】:2015-07-29 14:51:40
【问题描述】:
我有一个 products 表,其中包含以下字段:_id、product_name、priority 和 shelf_id。
我有一个 shelves 表,其中包含以下字段:_id 和 shelf_name。
目前,我有这个 SQL,它返回一个结果集,显示每个货架的名称以及每个货架中的产品数量:
SELECT
shelves._id AS _id,
shelves.shelf_name AS shelf_name,
COUNT(products._id) AS total_num_products_in_shelf
FROM
shelves
INNER JOIN
products ON shelves._id = products.shelf_id
GROUP BY
shelves._id
HAVING
COUNT(products._id) > 0
ORDER BY
shelf_name ASC
我想要实现的是在结果集中创建一个附加列,该列将显示每个货架中priority 值大于零的产品数量。类似的东西......
SELECT
shelves._id AS _id,
shelves.shelf_name AS shelf_name,
COUNT(products._id) AS total_num_products_in_shelf,
COUNT(products._id WHERE products.priority > 0) AS num_products_in_shelf_with_priority
...
...但当然有效。
我搜索了 sqlite 子查询,找到了this tutorial,但它似乎不是我想要的。
有人可以帮助我朝着正确的方向前进,或者更好的是,修改我的 SQL 查询,使其返回有效的num_products_in_shelf_with_priority 数据。
【问题讨论】:
-
这不是Android相关的问题。
-
好的,很公平。我已经删除了 Android 标签。