2013-01-10 107 views
0

将一组电子邮件地址和数字放在一起,这些电子邮件地址和数字在使用连接的sql中从数据库中取出。将字符串组合在一起并计算总数

SELECT ost_ticket.email, ost_ticket_response.time_taken 
FROM ost_ticket 
INNER JOIN ost_ticket_response 
ON ost_ticket_response.ticket_id=ost_ticket.ticket_id 
WHERE time_taken > 0 

输出

('[email protected]', 100) 
('[email protected]', 100) 
('[email protected]', 10) 
('[email protected]', 2) 
('[email protected]', 30L) 
('[email protected]', 20L) 
('[email protected]', 1234567L) 
('[email protected]', 2L) 
('[email protected]', 2L) 
('[email protected]', 30L) 
('[email protected]', 10L) 
('[email protected]', 40L) 

希望能够把所有的电子邮件地址,并有总让

[email protected] = 216 
[email protected] = 30 
[email protected] = 70 
[email protected] = 1234567 
[email protected] = 50 

是否有可能通过SQL做或输出做到这一点在后蟒蛇?

+1

你可以只改变你的SQL查询中使用SUM和GROUP BY ... –

+0

@乔恩除非你使用的是ORM 。 – Swiss

+0

@Swiss。 。 。该问题用SQL标记。 –

回答

3

当你从数据库中提取数据,使用这样的查询:

select emailaddress, sum(number) as total 
from t 
group by emailaddress 
+0

由于是完美 'SELECT ost_ticket.email,总和(ost_ticket_response.time_taken) FROM ost_ticket INNER JOIN ost_ticket_response ON ost_ticket_response.ticket_id = ost_ticket.ticket_id WHERE TIME_TAKEN> 0 GROUP BY ost_ticket.email' – namit