当前位置: 首页 > 知识库问答 >
问题:

SQL中的多计数查询返回什么?

杜茂
2023-03-14
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 ;

有人真的很快就否决了我的问题,因为它缺乏足够的信息。然后我编辑了它,但反对票仍然是:(

共有1个答案

仇高韵
2023-03-14

很难说清楚,但听起来你需要使用一个版本的顶部答案在你提供的链接。

类似的东西;

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      | ...
 类似资料:
  • 问题内容: 桌子: 我的查询: 我收到“ MySQL子查询返回多个行”错误。 我知道此查询可以使用以下查询的解决方法: 然后使用php循环遍历结果并执行以下查询以获取和回显它: 但是我认为可能会有更好的解决方案? 问题答案: 简单的解决方法是在子查询中添加一个子句: 一个更好的选择(就性能而言)是使用联接:

  • 问题内容: 我想知道以下内容: 如何从数据库中的多个表中获取数据? 有哪些类型的方法可以做到这一点? 什么是联接和工会,它们之间有何不同? 什么时候应该使用每个与其他比较? 我打算在我的应用程序(例如,PHP)中使用此功能,但是不想对数据库运行多个查询,我需要在单个查询中从多个表中获取数据的哪些选项? 注意:我正在写这篇文章是因为我希望能够链接到有关我在PHP队列中不断遇到的众多问题的书面指南,因

  • 问题内容: 我的查询导致以下错误: 消息512,级别16,状态1,过程Item_insupd,第17行 子查询返回了多个值。当子查询遵循=,!=,<,<=,>,> =或将子查询用作表达式时,不允许这样做。 询问: 我怀疑这种情况的发生是因为我的子查询不包含,但是不幸的是,我不知道如何构造正确的子句。 问题答案: 我怀疑问题出在此字符串中(您的代码中的第26行): 看起来像返回多个行,所以您遇到了错

  • 问题内容: 我在SQL Server Management Studio上运行此查询1,并看到它像3条消息一样返回我,但是当内部存储过程中有来自Statistics的近10条至20条消息时,返回的结果相同。发生了什么,为什么我看到它们? 我收到的邮件如下 查询的总经过时间是143ms + 143ms吗? 问题答案: 见下文 输出: 现在添加打印语句和一些变量 输出: 在上面的代码中,总执行时间为1

  • 问题内容: 我在名为type的列中有一个表,其中包含以下数据: 我想创建一个返回两行的查询-每个别名一个,并且我尝试了以下查询: 但它仅返回如下一行: 问题答案: 查看联机丛书中的.nodes()方法:

  • 问题内容: 以下查询应返回从动漫中扮演角色的人物的姓名。但我收到以下错误: Blockquote ORA-01427:单行子查询返回多个行 提前致谢! 问题答案: 代替 使用 查询中有5个条件需要更改。 UPD 另外,您的查询等同于