我想从单个县的单行中获取表中的数据。现在如图所示它显示单县的不同行为卡拉马祖。它应该在单行中显示单个两个记录。
我正在使用以下查询
SELECT County, Virus, SumOfPositiveTests
FROM StatewiseData
WHERE State = 'MICHIGAN'
我希望结果显示如下
County Virus SUMOFPOSITIVETESTS
---------------------------------------------
Kalamazoo H3N2,H3N8 3
H3N2和H3N8的总和
答案 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