【发布时间】:2013-05-23 22:57:40
【问题描述】:
我想从一个简单的数据库表中提取姓名、#kills、#deaths。
桌子有
_from(杀手),_to(死者),然后是事件的窃听。在 pvp 的情况下,我们想计算这个人是死了还是被杀了,然后把它加到他们的总数中
这可以通过查询来完成,还是我必须编写脚本?这不起作用@ all:
SELECT (select COUNT( _from ) from wiretaps group by _from) as num_kills,
(select COUNT( _to ) from wiretaps group by _to) as num_deaths,
_from as name
FROM wiretaps
WHERE message LIKE "%PvP:%"
http://sqlfiddle.com/#!2/1e5d9/1
| _FROM | _TO | MESSAGE | ID |
---------------------------------
| naez | salty | PvP: | 1 |
| naez | prince | PvP: | 2 |
| chuck | naez | PvP: | 3 |
预期输出:
| name | num_kills | num_deaths |
---------------------------------
| naez | 2 | 1 |
| prince | 0 | 1 |
| chuck | 1 | 0 |
| salty | 0 | 1 |
【问题讨论】:
-
尝试从子查询中取出 group by 子句。
-
我不确定您要做什么。您可以发布示例数据和预期结果,或者制作一个 sqlfiddle 吗?
-
只计算总行数
-
你可以用
select count(*) from wiretaps计算总行数。 -
不,这就是取出 group by 子句的作用。我正在尝试将其格式化为名称、#kills、#deaths。 sqlfiddle.com/#!2/1e5d9/1