当前位置: 首页 > 面试题库 >

在一个sql语句中多次选择

颛孙高义
2023-03-14
问题内容

我有一张调查答案表,类似:

date     |  q1  | q2 |
12/12/10 | yes | no | 
12/13/10 | no  | no |

并且我想创建一个查询,该查询将为我提供该表的结果摘要,从而允许我设置相关的日期范围。我下面的声明非常有效:

SELECT ( SELECT Count(*) 
         FROM `survey` 
         WHERE q1='Yes') AS q1_yes, 
       ( SELECT Count(*) 
         FROM `survey` 
         WHERE q1='No') AS q1_no,
       ( SELECT Count(*) 
         FROM `survey` 
         WHERE q2='Yes') AS q2_yes)

但是我不确定是否可以做得更好,以及在哪里添加日期范围过滤功能。


问题答案:

来自多刺的诺曼的第一个查询将给出这样的结果:

q1    q2    count(*)
no    yes   2
yes   no    1
yes   yes   1

仅将几组不同的结果分组。我假设您想按问题将是/否的总数分类。在这种情况下,您必须执行以下操作:

SELECT 'q1' as Question, s1.q1 as Answer, count(*) as Count
FROM survey s1
WHERE date>='2010-10-01' AND date<'2010-10-30'
GROUP BY q1
UNION
SELECT 'q2' as Question, q2 as Answer, count(*) as Count
FROM survey
WHERE date>='2010-10-01' AND date<'2010-10-30'
GROUP BY q2

结果:

Question Answer    Count
q1       no        2
q1       yes       2
q2       no        1
q2       yes       3


 类似资料:
  • 问题内容: 我正在尝试使用ADO一次在MS Access中创建多个表。是否可以在一个操作中执行多个语句?例如: 尽管每个create语句都可以完美地独立工作,但由于导致此操作失败。有没有办法做这种事情?也将有添加约束,添加索引等的语句,我真的很希望能够做到这一点,这样我就不必将字符串分成单独的部分。 问题答案: ADO to MS Access不支持批处理SQL语句。您需要将每个语句作为单独的执行

  • 问题内容: 说我想做,如何在同一个mysql_query()中做它们? 编辑: 由于这个问题有很多看法,我想指出,自PHP 5.5起,其他功能现在已被弃用,不应使用。 问题答案: 我从来没有尝试过,但是我认为您可以使用mysqli :: multi_query 。拒绝多条语句的好处之一是,它可以立即排除一些更常见的SQL注入攻击,例如添加一条语句。因此,您可能需要注意多个语句。

  • 问题内容: 我目前正在制作一份报告,向我显示我们销售团队涵盖的所有邮政编码。 每个团队涵盖100多个邮政编码。我想做的是创建一个报告,将邮政编码内的客户带回去。目前,我的代码如下所示。 我希望的是有一种更快,更轻松的方式来做到这一点。任何建议将不胜感激。有没有一种方法可以为每个销售团队创建变量,例如 只是在钓鱼的想法。干杯 问题答案:

  • 问题内容: 我想在 Java中 执行查询。 我创建一个连接。然后,我想执行一条语句,完成后关闭连接,但是我想通过连接执行一些插入语句,并在循环完成后关闭连接。 我能做些什么 ? 我的示例代码是: 当执行select语句()时,循环必须为两次,但是当()执行并完成时,则关闭连接并从类中返回。 问题答案: 以下示例使用&命令同时执行多个SQL命令。 结果: 以上代码示例将产生以下结果。结果可能会有所不

  • 问题内容: 我有一张表格,其中包含有关零售店的信息。我有一个零售链名称的列表(WalMart,Target,Eaton等)。当用户选择一个时,我基本上会运行一个查询来查找与该链有关的任何内容。 例如,如果用户选择“ WalMart”,则查询将返回名称中带有单词“ WalMart”的任何内容(WalMart Scarborough,WalMart Supercenter Toronto,WalMar

  • 问题内容: 我基本上有两个名为和的表。该表具有以下字段: 是表中字段的外键,其中包含以下字段: 我正在运行这样的查询: 除其他事项外,这将返回用户的。但是我想返回用户的用户名,而不是他们的u_id。因此,基本上,在该SELECT语句中,我还想运行: 我可以为此使用两个查询,但是我试图减少我的应用程序运行的查询,而且我知道有一种方法可以将其组合成一个查询,但是我只是不知道:< 有人知道答案吗?谢谢!