Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка из множества по уникальным значениям и датам / 7 сообщений из 7, страница 1 из 1
05.12.2013, 14:47:33
    #38490373
rony83
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из множества по уникальным значениям и датам
День добрый, всем участникам форума!
Прошу у вас помощи, в sql я дилетант, но тем не менее, возникла необходимость в написании небольшого запроса:

Есть таблица из которой мне нужно достать значения на основании некоторых критериев:

SELECT A, B, C, D, E
FROM Table
WHERE A='00' and (C>=? And C<=?) and (B BETWEEN 'RC%' and 'RZ%') and E=?
ORDER BY C, B DESC


проблема в том что в результате выполнения этого запроса я получаю множество строк с одинаковым значением B, но разными датами C. Что-то вроде этого:

A---B---C--------D-----E00 RC 12.11.13 100 0200 RW 11.10.12 50 0200 RC 05.12.13 120 0200 RT 10.02.10 30 0200 RT 14.03.12 100 02

Мне нужна для каждого B только значение С с самой последней датой

A---B---C---------D----E00 RC 05.12.13 120 0200 RW 11.10.12 50 0200 RT 14.03.12 100 02

Искал похожие темы на форумах, вроде бы что-то похожее было, пытался прикрутить подзапрос, но видимо мозгов не хватает применить это на своем примере.
Буду очень признателен, если кто-то сможет разжевать что именно мне нужно сделать и поможет на моём примере.

P.S:
В конце концов получилось вот такое "чудо":

SELECT B, max(C)
FROM Table
WHERE A='00' and (C>=? And C<=?) AND (E=?) and B BETWEEN 'RC%' and 'RZ%'
GROUP BY B


на выходе имею таблицу вида:

B----C RC 05.12.13 RW 11.10.12 RT 14.03.12

т.е отображения столбцов A, D, E мне так и не удалось добиться....((
...
Рейтинг: 0 / 0
05.12.2013, 15:39:51
    #38490482
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из множества по уникальным значениям и датам
SELECT A, B, max(C), D, E
FROM Table
WHERE A='00' and (C>=? And C<=?) and (B BETWEEN 'RC%' and 'RZ%') and E=?
GROUP BY A, B,D, E
...
Рейтинг: 0 / 0
05.12.2013, 15:43:10
    #38490490
bochkov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из множества по уникальным значениям и датам
очень мне не нравится вот это
(B BETWEEN 'RC%' and 'RZ%'

а вообще какие колонки входят в уникальный ключ?
может ты так объяснишь че те надо, по-человечески,
а то совсем не понятен замысел
...
Рейтинг: 0 / 0
05.12.2013, 15:48:13
    #38490498
bochkov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из множества по уникальным значениям и датам
и почему

Код: sql
1.
(C>=? And C<=?) 


а не
Код: sql
1.
C BETWEEN ? AND ?
...
Рейтинг: 0 / 0
05.12.2013, 16:01:23
    #38490544
bochkov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из множества по уникальным значениям и датам
Код: sql
1.
2.
3.
4.
SELECT A, B, C, D, E
FROM Table t
WHERE A='00' and C =(SELECT MAX(C) FROM Table WHERE C BETWEEN ? AND ? AND B=t.B) and (B BETWEEN 'RC%' and 'RZ%') and E=?
ORDER BY C, B DESC
...
Рейтинг: 0 / 0
05.12.2013, 16:24:46
    #38490602
rony83
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из множества по уникальным значениям и датам
ScareCrowSELECT A, B, max(C), D, E
FROM Table
WHERE A='00' and (C>=? And C<=?) and (B BETWEEN 'RC%' and 'RZ%') and E=?
GROUP BY A, B,D, E

Это работает, но почему то все-же выдает не все запрашиваемые столбцы, и в каком то странном порядке

Спасибо, буду пробовать разбираться!
...
Рейтинг: 0 / 0
05.12.2013, 16:41:44
    #38490642
rony83
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка из множества по уникальным значениям и датам
bochkov
Код: sql
1.
2.
3.
4.
SELECT A, B, C, D, E
FROM Table t
WHERE A='00' and C =(SELECT MAX(C) FROM Table WHERE C BETWEEN ? AND ? AND B=t.B) and (B BETWEEN 'RC%' and 'RZ%') and E=?
ORDER BY C, B DESC



ваш вариант не заработал, тоже буду разбираться
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка из множества по уникальным значениям и датам / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]