|
|
|
Выбор значения по условию из таблицы за макс. дату
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Прошу помощи, т.к. сам ещё очень плохо разбираюсь в сложных запросах... Есть таблица, одна: ID STATE DATE d_type 15189 C 22.11.2011 11:39:23 0 15189 K 22.11.2011 11:39:31 15189 K 22.11.2011 11:39:39 15189 N 22.11.2011 11:39:44 5189 C 17.12.2012 12:40:49 5189 K 17.12.2012 12:41:03 5189 N 17.12.2012 12:41:44 5189 C 05.02.2014 16:25:21 0 5189 K 05.02.2014 16:25:37 0 5189 N 05.02.2014 16:26:08 0 Задание - посчитать кол-во ID, где дата максимальная в месяце, STATE=N и d_type=0. Иначе говоря, для этого ID после максимальной даты состояние STATE=N и d_type=0 не изменилось. Могут затребовать подсчёт за любой месяц и год. Я отчасти понимаю, что можно выбрать строку в которой STATE=N и d_type=0, потом сравнить её с датой и если она не последняя в месяце, то... А вот дальше как и можно-ли это организовать в одном запросе? Очень прошу помочь знающих людей! Мне до этого попадались примитивные выборки, знаний не хватает и время поджимает. Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2014, 18:36:03 |
|
||
|
Выбор значения по условию из таблицы за макс. дату
|
|||
|---|---|---|---|
|
#18+
l_2001, DDL Код: sql 1. 2. 3. 4. 5. 6. query Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2014, 20:08:31 |
|
||
|
Выбор значения по условию из таблицы за макс. дату
|
|||
|---|---|---|---|
|
#18+
l_2001, Как вариант: 1) self left join (anti) 2) not exists - подзапрос (интуитивно более понятное решение, чем через left join) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2014, 06:03:09 |
|
||
|
Выбор значения по условию из таблицы за макс. дату
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эхl_2001, Как вариант: 1) self left join (anti) 2) not exists - подзапрос (интуитивно более понятное решение, чем через left join) а что такое self left join??? я всегда думал self join - it means left |right joins ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2014, 11:22:46 |
|
||
|
Выбор значения по условию из таблицы за макс. дату
|
|||
|---|---|---|---|
|
#18+
alex564657498765453, селфджойн - это джойн таблицы с собой (своей копией под другим алиасом) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2014, 11:30:03 |
|
||
|
Выбор значения по условию из таблицы за макс. дату
|
|||
|---|---|---|---|
|
#18+
alex564657498765453, странно, что ты заинтересовался именно словом SELF. Я думал недоумение будет вызывать слово SEMI :) А так да - SEF - это просто самообъединение таблицы с самой собой. Как и любой другой джойн может быть INNER или OUTER (left | right | full) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2014, 11:44:04 |
|
||
|
Выбор значения по условию из таблицы за макс. дату
|
|||
|---|---|---|---|
|
#18+
заработался, задумался, опечатался.Добрый Э - Эхalex564657498765453, странно, что ты заинтересовался именно словом SELF. Я думал недоумение будет вызывать слово SEMI ANTI :) А так да - SEF - это просто самообъединение таблицы с самой собой. Как и любой другой джойн может быть INNER или OUTER (left | right | full) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2014, 11:45:30 |
|
||
|
Выбор значения по условию из таблицы за макс. дату
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх , с FULL вы поаккуратнее ;-) Нет его в MySQL ;( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2014, 12:49:23 |
|
||
|
Выбор значения по условию из таблицы за макс. дату
|
|||
|---|---|---|---|
|
#18+
Большое спасибо за советы! О результатах пока определённо сказать не могу, там вылезли сегодня некоторые нюансы и пришлось день убить в никуда, а в целом я хотя-бы понял в каком направлении меня "послали"! Кстати, сервер на IQ Sql, но это почти одно и то-же! Ещё раз - спасибо за помощь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2014, 00:29:48 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38673766&tid=1834644]: |
0ms |
get settings: |
6ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 340ms |

| 0 / 0 |
