SQL中的多重计数查询返回什么?
我有一个SQL中的多重计数查询返回什么?,sql,sqlite,Sql,Sqlite,我有一个产品表,每个产品都可能交付,闲置,发货,准备 我想显示一个列表,列出每个州的产品数量,我可以在这里查看如何查询: 但是,此查询返回什么,以及如何将返回值分配给4个整数,例如称为deliveredCount,idleCount,shippingCount,preparingCount PS:作为记录,我在Android和JAVA中使用SQLite和OrmLite 编辑:在这个问题中,人们解释了当您想要获得多个计数时,查询应该做什么,但他们没有告诉我们该查询返回什么以及以什么格式返回。例如
产品
表,每个产品都可能交付
,闲置
,发货
,准备
我想显示一个列表,列出每个州的产品数量,我可以在这里查看如何查询:
但是,此查询返回什么,以及如何将返回值分配给4个整数,例如称为deliveredCount
,idleCount
,shippingCount
,preparingCount
PS:作为记录,我在Android和JAVA中使用SQLite和OrmLite
编辑:在这个问题中,人们解释了当您想要获得多个计数时,查询应该做什么,但他们没有告诉我们该查询返回什么以及以什么格式返回。例如:
SELECT a.distributor_id,
(SELECT COUNT(*) FROM myTable WHERE level='personal' and distributor_id = a.distributor_id) as PersonalCount,
(SELECT COUNT(*) FROM myTable WHERE level='exec' and distributor_id = a.distributor_id) as ExecCount,
(SELECT COUNT(*) FROM myTable WHERE distributor_id = a.distributor_id) as TotalCount
FROM myTable a ;
此文件的返回类型和格式是什么?
PS2:有人真的很快否决了我的问题,因为它缺乏足够的信息。然后我编辑了它,但否决票仍然存在:(
它将返回4行(假设四个唯一的状态值):
很难说清楚,但听起来你需要在你提供的链接中使用一个版本的顶级答案 有点像
SELECT ProductID,
COUNT(*) AS Total,
SUM(CASE WHEN pStatus = 'delivered' THEN 1 ELSE 0 END) DeliveredCount,
SUM(CASE WHEN pStatus = 'idle' THEN 1 ELSE 0 END) IdleCount,
SUM(CASE WHEN pStatus = 'shipping' THEN 1 ELSE 0 END) ShippingCount,
SUM(CASE WHEN pStatus = 'preparing' THEN 1 ELSE 0 END) PreparingCount
FROM ProductTable
GROUP BY ProductID
ProductID | DeliveredCount | IdleCount | ...
1 | 250 | 3250 | ...
这将返回类似的结果
SELECT ProductID,
COUNT(*) AS Total,
SUM(CASE WHEN pStatus = 'delivered' THEN 1 ELSE 0 END) DeliveredCount,
SUM(CASE WHEN pStatus = 'idle' THEN 1 ELSE 0 END) IdleCount,
SUM(CASE WHEN pStatus = 'shipping' THEN 1 ELSE 0 END) ShippingCount,
SUM(CASE WHEN pStatus = 'preparing' THEN 1 ELSE 0 END) PreparingCount
FROM ProductTable
GROUP BY ProductID
ProductID | DeliveredCount | IdleCount | ...
1 | 250 | 3250 | ...
你可能想试试这个
SELECT
SUM(CASE WHEN Prod = 'delivered' THEN 1 ELSE 0 END) as deliveredCount,
SUM(CASE WHEN Prod = 'idle' THEN 1 ELSE 0 END) as idleCount,
SUM(CASE WHEN Prod = 'shipping' THEN 1 ELSE 0 END) as shippingCount,
SUM(CASE WHEN Prod = 'preparing' THEN 1 ELSE 0 END) as preparingCount
FROM Product
你指的是什么查询?你只会将一个堆栈溢出问题与两个查询和多个答案链接起来…你需要包括,想要尝试..用更多细节编辑的问题你必须有一个sum()每个状态都有条件。我的问题是这个查询返回什么以及以什么格式返回?谢谢。那么我如何提取值并在Java中将它们分配给整数(或者我应该为此发布另一个问题)不用担心,是的,这将是另一个问题,我的朋友。顺便问一下,如果我只有一种产品,如何修改此查询?我应该选择什么?我的问题是此查询返回什么以及以什么格式?编辑以显示示例报告。它返回一个带有两个值的表。谢谢。那么我如何提取值并将其分配给inteJava中的gers(或者我应该为此发布另一个问题)