У меня есть проблемы с помощью следующего запроса SQL (MySQL):Расчет в HAVING условие
SELECT CAST(LEFT(SUBSTR(STORE.VALUE, LOCATE('timestamp":', STORE.VALUE)+11),13) AS UNSIGNED) as starttime
FROM STORE
HAVING starttime <= MIN(starttime)+600000;
Этот запрос возвращает 1 значение: 1344543364317
это минимальное значение STARTTIME столбца.
Следующий запрос, в котором выполняется вычисление вручную, возвращает больше значений.
SELECT CAST(LEFT(SUBSTR(STORE.VALUE, LOCATE('timestamp":', STORE.VALUE)+11),13) AS UNSIGNED) as starttime
FROM STORE
HAVING starttime <= 1344543964317;
Почему этот запрос возвращает больше значений?
Редактировать
Несколько больше объяснений по поводу данных: К сожалению, большинство данных является довольно бесполезно. В основном таблица содержит только два столбца: Key, Value. Ключ здесь не важен. Значение содержит такие вещи: {"changeset":"Z:1>6b|5+6b$Welcome to Etherpad Lite!\n\nThis pad text is synchronized as you type, so that everyone viewing this page sees the same text. This allows you to collaborate seamlessly on documents!\n\nEtherpad Lite on Github: http://j.mp/ep-lite\n","meta":{"author":"","timestamp":1344543364317,"atext":{"text":"Welcome to Etherpad Lite!\n\nThis pad text is synchronized as you type, so that everyone viewing this page sees the same text. This allows you to collaborate seamlessly on documents!\n\nEtherpad Lite on Github: http://j.mp/ep-lite\n\n","attribs":"|6+6c"}}}
Так что я в основном просто извлекаю значение временной метки и отображаю его как виртуальный столбец, называемый starttime. Первые 10 значений столбца STARTTIME являются
1344543364317
1344543365939
1344543366439
1344543366454
1344543368794
1344553433259
1344553434054
1344553499779
1344553500871
1344553502104
Дайте образцы данных. Чтобы мы могли найти решение. –
Я попытался дать некоторые данные, см. Редактирование вопроса. – jokr