【问题标题】:SQL count() multiple where valuesSQL count() 多个 where 值
【发布时间】:2020-08-31 12:37:31
【问题描述】:

我想计算 VOTE1VOTE2 并显示在我的人口统计数据中。如果它只是在 VOTE1 工作的地方,但如果我在 DataGrid 上添加 VOTE2 值,则不会显示:

jokenfindthis("SELECT 
                  ` PRK` as 'Purok'
                    ,COUNT(*)  as 'No. of households'  
                FROM `tblresidence` 
                where VOTE1 & VOTE2   ='" & ComboBox1.SelectedValue & "'  
                GROUP BY `Purok`   ")

以下是未添加VOTE2时的示例代码:

当代码中只有VOTE1 时,代码才有效:

这是我的组合框:

我想数数我的VOTE1VOTE2 ComboBox。选择是或否。我想显示YES或NO的数字:

【问题讨论】:

  • 您的查询毫无意义 Vote2 来自哪里?
  • 您是否尝试将查询分成两部分。我想那会做。如VOTE1 = <value> AND VOTE2 =<value>
  • 你好,我用更多描述图片更新了我的问题,我以前更容易理解。谢谢。

标签: mysql sql visual-studio-2010 visual-studio-code xampp


【解决方案1】:

正如 pagalprogrammer 提到的,您可能希望将您的 WHERE 语句分成两部分:

jokenfindthis("SELECT 
                  ` PRK` as 'Purok'
                    ,COUNT(*)  as 'No. of households'  
                FROM `tblresidence` 
                where VOTE1 ='" & ComboBox1.SelectedValue & "'  
                      AND VOTE2 ='" & ComboBox1.SelectedValue & "'  
                GROUP BY `Purok`   ")

【讨论】:

  • 您好,我刚刚用图片更新了我的问题。上面的代码不起作用
  • 在你的图片this is my combobox 中,VOTE2 是否应该列在某处?
【解决方案2】:

通过选择 VOTE1 = AND VOTE2 = 您只会看到 VOTE1 也等于 VOTE2 的结果。你真的想这样做吗?

在哪里 VOTE1 ='" & ComboBox1.SelectedValue & "'
OR VOTE2 ='" & ComboBox1.SelectedValue & "'

【讨论】:

  • 嗨,vote1 和 vote2 是我的组合框。我只想数一下这些盒子的“是”和“否”。在 VOTE1 中添加所有“是”,在 VOTE2 中添加“是”。
【解决方案3】:

诚然,我认为我只是部分理解了这个问题,所以请提前原谅。如果您尝试分别报告 Vote1 和 Vote2 的结果,则需要在您的 select 语句中拆分它们。

jokenfindthis("SELECT 
                  ` PRK` as 'Purok'
                    , sum(case when VOTE1 ='" & ComboBox1.SelectedValue & "' then 1 else 0 end)  as 'No. of households - Vote 1'  
                    , sum(case when VOTE2 ='" & ComboBox2.SelectedValue & "' then 1 else 0 end)  as 'No. of households - Vote 2' 
                FROM `tblresidence` 
                where VOTE1 ='" & ComboBox1.SelectedValue & "'  
                      or VOTE2 ='" & ComboBox2.SelectedValue & "'  
                GROUP BY `Purok`   ")

如果您要计算 Vote1 或 Vote2 满足您的条件的住宅,那么我会尝试以下方法

jokenfindthis("SELECT 
                  ` PRK` as 'Purok'
                    , count(*)  as 'No. of households'  
                FROM `tblresidence` 
                where VOTE1 ='" & ComboBox1.SelectedValue & "'  
                      or VOTE2 ='" & ComboBox1.SelectedValue & "'  
                GROUP BY `Purok`   ")

【讨论】:

  • 你好!太感谢了!如果我不能仅使用一个组合框对 vote1 和 vote2 求和,这对我来说可能是一个不错的选择。再次感谢您的大力帮助。
  • 您是否要计算投票 1 = 是或投票 2 = 是的住宅?
  • 你好。我试图在 vote1 和 vote2 组合框中计算所有是的,以及在 vote1 和 vote2 中的 NO。它可以是 vote1 = yes 或 vote2 = no。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-10
  • 2013-04-10
  • 2021-07-16
相关资源
最近更新 更多