从County获取表格中的数据

时间:2016-06-09 09:15:34

标签: mysql

我想从单个县的单行中获取表中的数据。现在如图所示它显示单县的不同行为卡拉马祖。它应该在单行中显示单个两个记录。

我正在使用以下查询

SELECT County, Virus, SumOfPositiveTests 
FROM StatewiseData 
WHERE State = 'MICHIGAN'

enter image description here

我希望结果显示如下

County        Virus        SUMOFPOSITIVETESTS
---------------------------------------------
Kalamazoo     H3N2,H3N8      3

H3N2和H3N8的总和

4 个答案:

答案 0 :(得分:0)

如果您使用的是mysql,请尝试此操作:

SELECT country, GROUP_CONCAT(virus) _virus, SUM(SumofPositiveTests) as TotalPostitiveTest 
FROM StatewiseData
WHERE Country = 'Kalamzoo'
GROUP BY Country

请注意,这不适用于大多数数据库,因为他们只需要指定查询中其他字段的分组字段和聚合函数。

以下是source

答案 1 :(得分:0)

使用MYSQL GROUP_CONCAT

以下MySQL语句将为每组'县'返回一个逗号(,)分隔'病毒的列表。来自StatewiseData表

SELECT County,GROUP_CONCAT(Virus),sum(SumOfPositiveTests) FROM StatewiseData  where State='MICHIGAN' group by County

答案 2 :(得分:-1)

试试这个。这适用于IBM DB2和MySQL。你正在使用什么数据库

SELECT DISTINCT Country, Virus,SumOfPositiveTests FROM Customers where State='MICHIGAN'  group by Country;

答案 3 :(得分:-1)

为什么在条件中使用state? (如果我遗漏了某些内容,请提供列中的列表) 如果你只选择国家,那么它应该简单:

SELECT County,Virus,SumOfPositiveTests FROM StatewiseData where Country='Kalamzoo'

如果您想选择单个国家/地区的摘要或总计,那么您应该使用以下总和:

SELECT country, SUM(SumofPositiveTests) as TotalPostitiveTest 
FROM StatewiseData  WHERE Country='Kalamzoo' GROUP BY Country