mysql如何从多个数据中提取数据并总结
对于mysql来说很新,并且很难制定这种类型的查询。mysql如何从多个数据中提取数据并总结
下一个表(表称为TableX的),让我们说结构如下
server date numberofUser
server1 timestamp 3
server2 timestamp 2
server3 timestamp 7
server1 timestamp 2
server2 timestamp 8
server3 timestamp 4
像... ..等等
我知道我可以做简单的 选择总和(numberofUser)从tableX其中服务器像'server1'按时间戳顺序desc限制100; 以获得服务器1的最后100个时间戳的用户总数
但是,您将如何为所有3台服务器执行此操作?我想为每个服务器的100个时间戳记汇总所有3个服务器的结果。只是不太确定如何执行此操作。请帮忙。
使用由
select sum(numberofUser) , server
from tableX
group by server
,并限制你的时间周期组
select sum(numberofUser) , server
from tableX
where timestamp between 'your_date_min' AND 'your_date_max'
group by server
所有服务器的总简直是
select sum(numberofUser)
from tableX
在过去的10列Server1和Server2上的
驻颜为单个服务器
select sum(numberofUser), server from (
(select server, date, numberofUser from tableX
where server = 'server1'
order by date limit 10)
union
(select server, date, numberofUser from tableX
where server = 'server2'
order by date limit 10)) as t
group by server
或全为2服务器
select sum(numberofUser) from (
(select server, date, numberofUser from tableX
where server = 'server1'
order by date limit 10)
union
(select server, date, numberofUser from tableX
where server = 'server2'
order by date limit 10)) as t
你会如何添加它们?而不是服务器,如何总结所有服务器的总数? – user3502374
你需要所有服务器的总数? .. – scaisEdge
无论如何,我已经更新了答案..希望这是你正在寻找..这可能会回答对你有用。 – scaisEdge
的[获取前n个记录每个组分组结果]可能的复制(http://stackoverflow.com/questions/12113699 /获取最多n个记录为每组分组的结果) – Shadow
你不能在服务器上运行sql :(你必须使用一些programatic中介 –
我会检查出这个帖子..并且是的,这只是从一个SQL服务器(在一张桌子下) – user3502374