0

现有查询:

查询-1:

select count(unique clientMacAddress) uniqueClients 
from ClientSessionInfo ClientSessionInfo 
where ClientSessionInfo.sessionStartTime >= 1383206920000 and ClientSessionInfo.sessionStartTime <= 1383210520000 

表中的列:

a. SessionStartTime

b. clientMacAddress

c. ConnectionType

要求 :

显示唯一有线客户端总数和唯一无线客户端总数以及唯一客户端总数

如果 connectionType = 0,则 connectionType 为 'Wireless' 如果 connectionType = 1,则 connectionType 为 'Wired'

解决方案:查询 -1 将返回唯一客户端的总数。

再写一个查询(Query-2)来检索无线客户端。查询-2:

select count(unique clientMacAddress) uniqueClients 
from ClientSessionInfo ClientSessionInfo 
where ClientSessionInfo.sessionStartTime >= 1383206920000 and ClientSessionInfo.sessionStartTime <= 1383210520000  and connectionType = 0

根据查询-1 和查询-2 的输出,可以驱动有线客户端。

除了编写查询 -2 之外,有没有办法修改查询 -1 以检索所需的结果。

4

1 回答 1

0

使用 group by 子句区分 group by 子句

select connectionType, count(distinct clientMacAddress)
from ClientSessionInfo csi
where csi.sessionStartTime >= 1383206920000 and csi.sessionStartTime <=1383210520000
group by connectionType
于 2013-11-04T11:42:35.007 回答