134 / 129 / 59
Регистрация: 16.06.2013
Сообщений: 523
|
|||||||||||
1 | |||||||||||
Сложности с запросом01.04.2018, 21:22. Показов 1437. Ответов 10
Метки нет (Все метки)
Здравствуйте. Помогите пожалуйста со сложным запросом. Хотелось бы все данные выгрузить одним запросом, но весь вечер кручу так и сяк - и не получается. Суть проблемы - есть таблица с данными. Грубо говоря (упрощённая версия):
0
|
01.04.2018, 21:22 | |
Ответы с готовыми решениями:
10
Сложности с установкой SQLManagementStudio_x86_RUS Сложности в понимании использования различных БД Группа профессионалов выполнит заказ любой сложности Помощь с запросом |
134 / 129 / 59
Регистрация: 16.06.2013
Сообщений: 523
|
||||||
02.04.2018, 07:55 [ТС] | 3 | |||||
qwertehok, значение Value, тех строк, у которых будет минимальный или максимальный timestamp, в указанном временном промежутке (первое и последнее значения).
MIN(timestamp) != начало временного промежутка (может быть на n секунд позже) MAX(timestamp) != конец временного промежутка (может быть на n секунд раньше) На данный момент, у меня только вот такое решение, в 2 запроса:
0
|
02.04.2018, 08:00 | 4 | |||||
что то вы намудрили
0
|
134 / 129 / 59
Регистрация: 16.06.2013
Сообщений: 523
|
||||||
02.04.2018, 08:16 [ТС] | 5 | |||||
qwertehok, походу я криво объясняю... Спать нужно явно больше >_<.
Смотри, у меня есть значения, грубо говоря: Кликните здесь для просмотра всего текста
name: aaa, aaa, aaa, aaa, ааа value: 0.123, 1.321, 3.156, 0.351, 0.65 timestamp: 0, 2, 5, 7, 8 Мне нужно, из промежутка, в котором значение timestamp от 1 до 10 (@maxPeriodTimestamp int = 10, @minPeriodTimestamp int = 1), выбрать 2 значения value - у которого минимальный timestamp, и то, у которого максимальный timestamp. Т.е. первое и последнее значения в промежутке. При этом, в примере у меня только 1 значение name, а мне нужно для всех name сделать. Мой запрос:
Кликните здесь для просмотра всего текста
max(value) |name |timestamp ----------------+---------------+--------- 0.000000320000 |ааа |1521541819 0.000001060000 |ббб |1521534703 0.000000030000 |ввв |1521535179 0.000013510000 |ггг |1521553070 0.066000000000 |ддд |1521535554 3.946126530000 |еее |1521537855 0.000041980000 |жжж |1521569260 0.000000010000 |ззз |1521535340 0.000000400000 |иии |1521545751 0.000025580000 |ккк |1521539270 0.005661870000 |ллл |1521545990 0.000000810000 |ммм |1521538395 0.000000520000 |ннн |1521537498
0
|
02.04.2018, 08:34 | 6 | ||||||||||
прочитал задание несколько раз и все равно не понял зачем ты в подзапросе
у тебя для каждого Name свое значение min и max? если нет, то почему бы не сократить размер выборки вынеся
0
|
134 / 129 / 59
Регистрация: 16.06.2013
Сообщений: 523
|
|
02.04.2018, 08:40 [ТС] | 7 |
qwertehok, уфф... Мне не нужен MAX(TIMESTAMP) и MIN(TIMESTAMP). Так бы было всё просто. Мне нужны value, из строк с MAX(TIMESTAMP) и MIN(TIMESTAMP).
Блин, в прошлом посте пример написал, и не заюзал. Короче говоря, вот из такой 'таблички': Кликните здесь для просмотра всего текста
name: aaa, aaa, aaa, aaa, ааа value: 0.123, 1.321, 3.156, 0.351, 0.65 timestamp: 0, 2, 5, 7, 8 При (@maxPeriodTimestamp int = 10, @minPeriodTimestamp int = 1), нужно вытянуть 2 числа: 1,321 и 0,65.
0
|
134 / 129 / 59
Регистрация: 16.06.2013
Сообщений: 523
|
||||||
02.04.2018, 08:51 [ТС] | 9 | |||||
qwertehok, угу. Сорри, вот на JOIN-ах, я и валился, когда пытался записать всё одним запросом. ВОт это:
0
|
3499 / 2083 / 742
Регистрация: 02.06.2013
Сообщений: 5,078
|
||||||
02.04.2018, 10:18 | 11 | |||||
Сообщение было отмечено Захарка как решение
Решение
1
|
02.04.2018, 10:18 | |
02.04.2018, 10:18 | |
Помогаю со студенческими работами здесь
11
Трудности с запросом Условие с запросом Сложность с запросом запросом на выборку Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |