
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
29.08.2015, 14:40:56
|
|||
|---|---|---|---|
|
|||
Помогите составить запрос |
|||
|
#18+
Всем привет! помогите мне плиз составить запросы. есть база - событие и дата дождь 27.08.2015 дождь 27.08.2015 снег 27.08.2015 дождь 28.08.2015 дождь 28.08.2015 гроза 28.08.2015 нужны запросы 1. список уникальных событий за 28.08 которых не было раньше, чем 28.08 2. список уникальных событий которые продолжаются два и более дня подряд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.08.2015, 15:10:27
|
|||
|---|---|---|---|
|
|||
Помогите составить запрос |
|||
|
#18+
1 В зависимости от того, к чему относится слово "уникальный" в вопросе: к результату или к событию в этот день,having будет не нужен или нужен Код: sql 1. 2. 3. 4. 5. 6. 2 Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.08.2015, 10:44:18
|
|||
|---|---|---|---|
|
|||
Помогите составить запрос |
|||
|
#18+
спасибо заработало! правда медленно - запрос делается несколько минут, хотя база 200 МБ, 300000 строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.08.2015, 12:21:47
|
|||
|---|---|---|---|
Помогите составить запрос |
|||
|
#18+
оля, делай индексы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.09.2015, 20:33:54
|
|||
|---|---|---|---|
|
|||
Помогите составить запрос |
|||
|
#18+
bochkov, а мне не поможете составить запрос? В таблице две колонки (id_p и id_d) Задача узнать id_p где id_d = 31 И 33 И 78. пример таблицы: ---------------- id_p | id_d | ---------------- 728 | 31 728 | 33 728 | 78 ---------------- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.09.2015, 21:10:24
|
|||
|---|---|---|---|
|
|||
Помогите составить запрос |
|||
|
#18+
alikmakh, Реляционное деление в SQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.09.2015, 21:52:15
|
|||
|---|---|---|---|
|
|||
Помогите составить запрос |
|||
|
#18+
Cygapb-007, ты сам то хоть это читал, судатрь7 Если читал, то читай ещё. Другим не советуй. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.09.2015, 22:36:15
|
|||
|---|---|---|---|
|
|||
Помогите составить запрос |
|||
|
#18+
alikmakh, Вы считаете, что ответ не в тему? Или просто ждете готовое решение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.09.2015, 22:45:02
|
|||
|---|---|---|---|
Помогите составить запрос |
|||
|
#18+
Cygapb-007, А чем оно поможет, когда задача ставится неверно? Внимательно: 1. Колонка И колонка. То есть во второй колонке в КАЖДОЙ записи ровно ОДНО число. 2. Надо найти где (в колонке!) стоит И то И другое ... в одной записи, ибо "задача узнать", то бишь получить значение из первой колонки. :) Наверное было ИЛИ то ИЛИ иное... не? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.09.2015, 22:48:26
|
|||
|---|---|---|---|
|
|||
Помогите составить запрос |
|||
|
#18+
alikmakh, авторВ таблице две колонки (id_p и id_d) Задача узнать id_p где id_d = 31 И 33 И 78. на 38мин. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.09.2015, 22:50:07
|
|||
|---|---|---|---|
|
|||
Помогите составить запрос |
|||
|
#18+
главное и потерял ... having count Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.09.2015, 22:53:56
|
|||
|---|---|---|---|
|
|||
Помогите составить запрос |
|||
|
#18+
Немног не точно. Там далее пояснение есть:having count Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.09.2015, 23:02:47
|
|||
|---|---|---|---|
|
|||
Помогите составить запрос |
|||
|
#18+
Arhat109, Не, сформулирована как раз задача на деление. С остатком:) Без остатка немного не так - найти все id_p, для которых в id_d есть ТОЛЬКО значения как 31, так И 33, И 78 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.09.2015, 23:38:37
|
|||
|---|---|---|---|
|
|||
Помогите составить запрос |
|||
|
#18+
Cygapb-007, Я пока нашел такое решение LEFT JOIN таблицу с разными айди (tb1, тб2 и tb3) вот примерно так: select rd.id_p from r_d rd left join r_d rd2 on (rd.id_p=rd2.id_p) left join r_d rd3 on (rd.id_p=rd3.id_p) where rd.id_d=31 and rd2.id_d=33 and rd3.id_d=78; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.09.2015, 23:43:42
|
|||
|---|---|---|---|
|
|||
Помогите составить запрос |
|||
|
#18+
Cygapb-007Arhat109, Не, сформулирована как раз задача на деление. С остатком:) Без остатка немного не так - найти все id_p, для которых в id_d есть ТОЛЬКО значения как 31, так И 33, И 78 Задача не найти все id_p (он всегда один) а узнать его. В общем задача в реале такова: В базе данных больных есть больные у которых сразу несколько болезней. В таблице болезней есть айди больного и айди болезни. Так вот, надо быстро найти такого больного у которого все три болезни одновременно а не или-или.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.09.2015, 23:55:24
|
|||
|---|---|---|---|
|
|||
Помогите составить запрос |
|||
|
#18+
alikmakhCygapb-007, Я пока нашел такое решение LEFT JOIN таблицу с разными айди (tb1, тб2 и tb3) вот примерно так: Код: sql 1. 2. 3. 4. Тоже решение. Но "хардкод"ное, хотя при наличии правильного индекса и достаточно оптимальное. Хотя и не совсем точное: Код: sql 1. 2. 3. 4. 5. Хуже рассмотренных тем, что при изменении делителя придется переписывать запрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.09.2015, 00:06:58
|
|||
|---|---|---|---|
|
|||
Помогите составить запрос |
|||
|
#18+
Cygapb-007, Ваш последний вариант не подходит, поскольку клоз WHERE формируется в PHP на основе поискового http запроса. Т.е. в запросе может быть одна болезнь указана или две или три и тд.... В зависимости от кол-ва болезней я подключаю LEFT JOIN в mysql запрос. Это, конечно хардкорное, как Вы сказали, решение. Может есть что попроще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.09.2015, 00:11:44
|
|||
|---|---|---|---|
|
|||
Помогите составить запрос |
|||
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.09.2015, 00:26:26
|
|||
|---|---|---|---|
|
|||
Помогите составить запрос |
|||
|
#18+
Cygapb-007, Я создал в базе данных больного с пятью болезнями (чтобы был единственным). Попробовал Вашим кодом - найден был не он, а первый попавшийся с id_болезнью = 30. Попробовал своим - найден был мой больной (с пятью болезнями). Так, что Ваше код не рабочий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.09.2015, 00:59:59
|
|||
|---|---|---|---|
|
|||
Помогите составить запрос |
|||
|
#18+
alikmakh, Вы кино-то посмотрите все же. А то, что при исправлении тоже не заметил пропущенную группировку - ну да, не сразу заметил. Повторно исправление писать не стал, понадеялся на... уж и не знаю, на что понадеялся... напрасно, звиняйте... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&mobile=1&tid=1832758]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
36ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 297ms |

| 0 / 0 |
