Мне нужна ваша помощь с запросом MySQL.У меня есть одна таблица 'metrics':
create table metrics
(
guid binary(16) not null
primary key,
entry_guid binary(16) not null,
customer_guid binary(16) null,
metrics varchar(30) not null,
value int not null,
`_created` timestamp null,
`_updated` timestamp null
);
Итак, я пытаюсь сделать что-то вроде этого:
SELECT t1.entry_guid as entry_guid, SUM(t1.`value`) as last_week, SUM(t2.`value`) as last_month
FROM metrics as t1, metrics as t2
WHERE t1.`_created` > NOW() - INTERVAL 7 DAY OR t2.`_created` > NOW() - INTERVAL 1 MONTH
GROUP BY t1.entry_guid
Но в результате я получаю идентичный странный результат использования SUM () function
entry_guid last_week last_month
1 4613 4613
2 207 207
3 6003 6003
4 9108 9108
Более того, результат функции SUM () странный, потому что у меня есть только 300 строк, и поле 'value' в каждой строке равно 1 , поэтому max sum должна бытьочень мало.
Итак, запрос
SELECT t1.entry_guid as entry_guid, SUM(t1.`value`) as sum
FROM metrics as t1
GROUP BY t1.entry_guid
дает мне
entry_guid sum
0x34303535636637643538396665633265 21
0x34313830656231666665393131326635 21
0x34336537663033653963303437356165 1
0x34363061653730313738313263386264 44
Мне нужно получить SUM ('значение') из одной таблицы, но с разнымиусловия.Можете ли вы показать мне, как?Заранее спасибо.