0

对于统计应用程序,具有如下表结构:

unique_id | browser_family | os | date_time | js_enabled | flash_enabled | non_binary_field

1           firefox          w7    ...         1            0              yes
2           chrome           w7    ...         1            1              no
3           ie9              wx    ...         0            0              yes

所以,我想在任何字段上使用 where 子句执行查询,并让它为我提供这些条件的 js_enabled=1、flash_enabled =0、non_binary_field = 'yes' 计数(比如 `os` = 'w7' 和日期(`date_time`)='01-08-2012')。

结果将是:

count(js_enabled=1) | count(flash_enabled=1) | count(non_binary_field='yes')
2                     1                        1

这可能在单个查询中吗?

谢谢!

4

2 回答 2

3
select sum(js_enabled=1),
       sum(flash_enabled=1),
       sum(non_binary_field='yes')
from your_table
where `os` = 'w7'
and date(`date_time`) = '2012-08-01'
于 2012-08-01T21:28:08.987 回答
0

每个字段都可以由单独的子查询填充:

select
(select count(js_enabled) from yourtable where js_enabled=1),
(select count(flash_enabled) from yourtable where flash_enabled=1),
(select count(non_binary_field) from yourtable where non_binary_field='yes')
于 2012-08-01T21:39:14.310 回答