2010-03-06 63 views
2

在我的会员表中,我想要了解有多少人在线和离线的“位置”1 - 7中的所有不同人员的摘要。MySQL集团摘要

SELECT location, COUNT(*) FROM members GROUP BY location; 

返回:

1 10 
2 5 
3 4 
4 12 
5 6 
6 3 
7 19 

我想为0(脱机)的状态成员的计数和状态1(在线)。我该怎么做呢?

回答

4
SELECT location, status, COUNT(*) FROM members GROUP BY location, status 

作为一个行:

SELECT 
    location, 
    COUNT(status) - SUM(status) as offline, 
    SUM(status) as online 
FROM members 
GROUP BY location 
+0

这个工作,但它为每个位置创建两行,这将使我的PHP尴尬,因为我打印这些数据在表中。 – Juddling 2010-03-06 21:42:39

+0

@Juddling:查看更新。 – 2010-03-06 21:45:45

+0

你是个天才! – Juddling 2010-03-06 21:49:17

2

SELECT位置,状态,COUNT(*)FROM成员按位置,状态

+0

+1最快的。 – 2010-03-06 21:42:03