Часть моего запроса выглядит так:
HAVING date > '2011-04-13 04:28:03'
Переменная даты индексируется, это как-то влияет на запрос?
EXPLAIN EXTENDED, похоже, не использует индекс, но я не знаю, только ли это потому, что у меня есть 4 строки в базе данных, с которой я тестирую.
Мой запрос:
SELECT AVG(slen) FROM
(
SELECT date, COUNT(id) as slen
FROM table
WHERE product_id = 2830
GROUP BY id
HAVING date > '2011-04-13 04:28:02'
) as T
Есть несколько строк с разными значениями даты. Я хочу выбрать группы идентификаторов с датой> '2011-04-13 04:28:02'. Затем я хочу получить среднее число строк, принадлежащих группе, без условия даты .
Между прочим, запрос пока не работает.
Меня также беспокоило, будет ли дата> '2011-04-13 04:28:02' использовать индекс моего столбца даты.
Из этого набора данных:
sid datelast product_id
782240551706 2011-04-13 00:51:52 2830
782240551706 2011-04-13 04:05:48 2830
782240551706 2011-04-13 04:28:03 2830
111111111111 2011-04-13 00:50:30 2830
Желаемый результат:
Следует выбрать группу с идентификатором 782240551706, а среднее значение должно составлять 3.
Следующий запрос дает желаемый результат:
SELECT AVG(slen) FROM
(
SELECT date, COUNT(id) as slen
FROM table
WHERE product_id = 2830
GROUP BY id
HAVING **max(date)** > '2011-04-13 04:28:02'
) as T