SQL SEVER 查询命令问题

来源:百度知道 编辑:UC知道 时间:2024/07/04 07:09:05
有一张表:characters
字段
ID server_name SERVER_ID
1 北京 1
2 北京 2
3 上海 1
4 上海 2
5 上海 2
6 上海 2

我现在要求查询结果变成

ID server_name SERVER_ID 总数
1 北京 1 1
2 北京 2 1
3 上海 1 1
4 上海 2 3

查询的结果就是 server_name=北京 且SERVER_ID=1 的 总数是1
server_name=北京 且SERVER_ID=2 的 总数是1
server_name=上海 且SERVER_ID=1 的 总数是1
server_name=上海 且SERVER_ID=2 的 总数是3

select server_name,server_id,count(*) as 总数
from characters
group by server_name,server_id

也可以这样写:
select distinct server_name,server_id,
(select count(*) from characters where server_name=a.server_name and server_id=a.server_id)as 总数
from characters as a

select c.ID,a.server_name,a.SERVER_ID,a.总数 from characters c join

(select server_name,SERVER_ID,count(ID) 总数 from characters group by

server_name,SERVER_ID) a on a.server_name = c.server_name and

a.SERVER_ID=c.SERVER_ID and c.ID<5;