我的tbl_sActivity看起来是这样的:
act_id,Client_id,act_status,user_id,user_id,act_date 1 2 12/T1383-1991技术产品的价格、产品等产品的产品、产品等产品的产品、技术等产品的 4 12/T1555.5-1995技术技术产品的技术指标,产品价格,产品等 6 7
我希望从每个user_id的客户机的最新状态中计算出它们的act_status。输出结果应该是这样的
user_id - act_status -计数(Act_status) 1 1 22
但我所能做的只是展示他们的最新活动,没有任何功能。所以请帮帮我。非常感谢。
发布于 2012-08-08 09:00:19
我没有理解你的逻辑,简单的查询应该是这样的:
select user_id, act_status, count(act_Status)
from your_table
group by user_id, act_status但是为什么你的预期输出没有用户1的“冷”呢?
编辑:
select user_id, act_status, count(act_Status)
from your_table
where act_date in (
select max(act_date)
from your_table
group by Client_id
)
group by user_id, act_status发布于 2012-08-08 09:30:13
不如:
SELECT act_status,
user_id,
Count(act_id) AS idcount
FROM (SELECT a.act_id,
a.act_status,
a.user_id
FROM tbl_sActivity AS a
WHERE a.act_id IN (SELECT TOP 1 act_id
FROM tbl_sActivity b
WHERE a.client_id = b.client_id
AND a.user_id = b.user_id
ORDER BY act_date DESC) ) As x
GROUP BY act_status,
user_id https://stackoverflow.com/questions/11860880
复制相似问题