【发布时间】:2013-07-20 15:34:18
【问题描述】:
在我的消息表中,例如,我有以下行,
|----|---------|--------------|------|
| id | user_id | message |status|
|====|=========|==============|======|
| 1 | 2 | msgs 11 | r |
|----|---------|--------------|------|
| 2 | 3 | msgs 12 | r |
|----|---------|--------------|------|
| 3 | 2 | msgs 13 | r |
|----|---------|--------------|------|
| 4 | 3 | msgs 14 | u |
|----|---------|--------------|------|
现在,我需要知道每个user_id 的两件事
- 是否有状态
u。 - 有多少条消息
例如,如下查询
select user_id, status, count(*) as totalMsg from messages group by user_id
会给我带来以下几行
| user_id | status| totalMsg |
|=========|=======|==========|
| 2 | r | 2 |
|---------|-------|----------|
| 3 | r | 2 |
^
|------> I need this value to be 'u' because user 3 has a message u
我当前的查询并不能真正保证它将在状态列中查找u。
那有可能吗?如果有怎么办?
【问题讨论】: