SELECT db1.table.listener,
db2.table.listener,
SEC_TO_TIME( SUM( TIME_TO_SEC( db2.table.time ) ) + ( TIME_TO_SEC( db1.table.time ) ) ),
count( db2.table.listener )
FROM table
INNER JOIN db2.table
ON db1.table.listener = db2.table.listener
WHERE db2.table.ldate = "19.02.2013"
AND db1.table.ldate = "19.02.2013"
GROUP BY db2.table.listener, db1.table.listener
Eu tenho duas tabelas em dois bancos de dados diferentes commesmas colunas (listener, time, ldate). Eu preciso somar tempos e agrupar por ouvinte. Esta consulta dá vários registros, eu só preciso de "ouvinte, tempo total, número de escuta". Como posso fazer isso com uma consulta?
Resultado desejado;
| listeners (from both table, full join) | count of values (from both table) | sum of time (from both table) |
Respostas:
0 para resposta № 1Veja a seguir:
SELECT db1.table.listener,
SEC_TO_TIME( SUM( TIME_TO_SEC( db2.table.time ) ) +
( TIME_TO_SEC( db1.table.time ) ) ),
count( db1.table.listener )
FROM table
INNER JOIN db2.table
ON db1.table.listener = db2.table.listener
WHERE db1.table.ldate = "19.02.2013"
GROUP BY db1.table.listener