## Unanswered: Get count of incremented items by condition

Here is some dummy data: http://tny.cz/a1b7941a , it's a calls record data table.
This is a glimpse of it:

Code:
```    |  call_id       |  customer      |    company    | call_start                |
|---------------|------------------|----------------|-------------------------|
|1411482360 | 001143792042 | 08444599175 | 2014-07-31 13:55:03 |
|1476992122 | 001143792042 | 08441713191 | 2014-07-31 14:05:10 |```
The `customer` and `company` fields represents their telephone numbers

The requiremen is to compute the total 'gain' and total 'lost' values based on the following logic, and store them in a temporary table:

-Customer A calls Company A.
-If customer A calls Company B then Company B will have +1 gain and Company A will have +1 lost.
-If customer A calls Company C then Company C will have +1 gain and Company B will have +1 lost.

-The gain/lost only comes into play once a 2nd call has been made by Client A.
-If a customer calls companies in this order: A, B, B, C, A, A, C, B, D the process should be like this:

A ->
B -> B +1 gain, A +1 spill
B -> B +1 gain, B +1 spill
C -> C +1 gain, B +1 spill
A -> A +1 gain, C +1 spill
A -> A +1 gain, A +1 spill
C -> C +1 gain, A +1 spill
B -> B +1 gain, C +1 spill
D -> D +1 gain, B +1 spill

After above process we should have the total values as:

Code:
```    Company    Total gain    Total spill
A   	       2	         3
B 	       3	         3
C	               2	         2
D	          1	            0```
I started working on this but it's wrong, it's just an ideea, it doesn't give me separate incremented gain and lost values based on the above conditions:

Code:
```DROP TABLE IF EXISTS GetTotalGainAndLost;

CREATE TEMPORARY TABLE IF NOT EXISTS GetTotalGainAndLost
AS
(
SELECT SUM(count) as 'TotalGainAndLost', `date`, DAY(`date`) as 'DAY'
FROM (SELECT count(*) as 'count', customer, `date`
FROM (SELECT customer, company, count(*) AS 'count', DATE_FORMAT(`call_end`,'%Y-%m-%d') as 'date'
FROM callstats.calls
WHERE `call_end` LIKE CONCAT(2014, '-', RIGHT(CAST(concat('0', 01) AS CHAR),2),'-%')
GROUP BY customer, company, DAY(`call_end`) ORDER BY `call_end` ASC)
as tbl1 group by customer, `date` having count(*) > 1)
as tbl2 GROUP by `date`
);

Select * from GetTotalGainAndLost;

DROP TABLE GetTotalGainAndLost;```
This query doesn't show any results.
The desired output would be something like below:

Should be one row per company and date (total gain and lost calls by day in e.g. january)

Code:
```    |  company     |  totalGain |  totallost  | date           |  day  |
|----------------|------------|-------------|---------------|-------|
| 08444599175 |     17      |       6      | 2014-07-01   |  1    |
| 08444599175 |     12      |      10      | 2014-07-02   |  2    |
| 08444599175 |      3      |       6      | 2014-07-02   |  3    |
| 08444599175 |   ....      |      ...     |     ...         | ...   |
| 08444599175 |      7      |       6      | 2014-07-31  | 31    |```