|
|
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Выбираются все темы форума из таблицы тем, а так же количество сообщений в этих темах из таблицы сообщений, и еще нужно выбрать имя автора самого нового сообщения в каждой теме, это я не знаю как сделать, у меня выбирается имя автора самого старого сообщения. Подскажите Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2013, 09:14:23 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2013, 09:21:36 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Спасибо, сам уже посмотрел! Так сделал: Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2013, 09:24:57 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Еще один вопрос: Почему так не работает? Код: sql 1. выдает ошибку Код: sql 1. А так работает: Код: sql 1. И так тоже работает: Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2013, 10:09:42 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Правильно не работает.... ты чё пытаешься алиасить-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2013, 10:24:47 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Ага, разобрался ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2013, 12:25:27 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Еще вопрос. Вот такой запрос: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Мне нужно выбрать темы из таблицы тем, при условии что существуют сообщения в этих темах в таблице сообщений, у которых автор - конкретный пользователь. Я это сделал через join таблицы тем с таблицей сообщений ограниченной по нику пользователя. Но еще нужно посчитать сколько всего сообщений в этих темах, от всех пользователей, я это сделал через второй join с таблицей сообщений. Но результат получается не правильный - количество сообщений считается с возведением в квадрат количества сообщений от каждого пользователя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 06:44:58 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
D_Pavel, разделите два посчета, например так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 07:17:52 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Спасибо! Сделал по аналогии так, но мне кажется что это не оптимально, присутствуют одинаковые выборки: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. Возможно оптимизировать быстродействие или упростить запрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 07:58:27 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
И еще у меня в этом запросе не правильно считает lentitle - длинна самого длинного заголовка из выбранных, почему-то просматривает всю таблицу тем, а не отсеянные темы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 08:02:39 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Последнюю ошибку вот так исправил, но кажется запрос стал еще неоптимальнее: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 08:05:23 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
D_Pavel, оптимальный-нешоптимальный... таких слов не бывает. запрос должен , в порядке значимости: 1. выдавать правильный результат 2. быть в пределах скорости указаных в техзадании 3. не грузить сервер 4. быть более-менее понятным автору через 3 месяца 5. вызывать естетическое удоволъствие у эстетов скл.ру P.S. вместо выполнения пунктов 4 и 5 можно пойти пить пиво и играть в преферансе... или с женшинами... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 08:30:29 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
То есть если мой запрос по два раза выбирает одни и те же данные и укладывается в нужное время, то оставить все как есть? Он даже у меня не вызывает эстетического удовольствия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 08:57:16 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Пробую по частям. Код: sql 1. 2. 3. 4. 5. Как в этот запрос вставить подсчет длины самой длинной строки title ? Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 10:17:36 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Даже еще упростил, все равно не понятно: Код: sql 1. 2. Нужно добавить вычисление длины самой длинной выбранной строки. Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 10:51:52 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
D_PavelВыбираются все темы форума из таблицы тем, а так же количество сообщений в этих темах из таблицы сообщений, и еще нужно выбрать имя автора самого нового сообщения в каждой теме http://sqlfiddle.com/#!2/7a15a/1 Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 11:14:51 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Поправка: http://sqlfiddle.com/#!2/71133/1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 11:18:03 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
D_PavelЕще вопрос. Мне нужно выбрать темы из таблицы тем, при условии что существуют сообщения в этих темах в таблице сообщений, у которых автор - конкретный пользователь. Но еще нужно посчитать сколько всего сообщений в этих темах, от всех пользователей http://sqlfiddle.com/#!2/71133/2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 11:43:26 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
у тебя получается условие по nik из таблицы topics, а должно быть по nik из таблицы messages. То есть выборка topics с участием nik в messages, не важно кто автор в topics. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 11:48:33 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
D_Pavelу тебя получается условие по nik из таблицы topics, а должно быть по nik из таблицы messages. То есть выборка topics с участием nik в messages, не важно кто автор в topics.Сорь, не понял сразу. FIX: http://sqlfiddle.com/#!9/894fc/1 Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 12:03:53 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Спасибо, классный запрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 12:30:38 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Собрал все вместе, немного допилил, получилось так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. lentitle буду получать из последней строки результата запроса. Все верно получилось? Может что-то не нормально? Я новичок, не знаю возможностей MySQL, поэтому могу что-то написать очень глупое, поправьте пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 16:16:45 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
D_PavelТо есть если мой запрос по два раза выбирает одни и те же данные и укладывается в нужное время, то оставить все как есть? Он даже у меня не вызывает эстетического удовольствия. в жизни должны быть приоритеты. Для програмиста -- эстетика кода вполне важна, но на 5-ом месте (примерно по приведеному списку). Без пункта #2 и #3 говорить об естетике просто рано. Укажите имеюшуюся скорость, какие обьемы есть или как ожидаются, какие требования к скорости, план запроса... ну и все такое. Или уточните что вам по барабану скорость и вы тут просто изучаете возможности СКЛ-а в отрыве от конкретной задачи. Что тоже интересно само по себе :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 16:37:24 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
Скорее последнее, так как до больших объемов еще очень далеко, база только начинает заполняться. НО по опыту другого аналогичного проекта с уже приличной базой, даже при самых оптимальных запросах(наверное) которые делал опытный эскуэльщик, потребовался дорогой выделенный сервер. Мне бы хотелось чтобы база как можно дольше работала и росла на дешевом виртуальном сервере и не тормозила. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2013, 06:08:55 |
|
||
|
Помогите исправить простой запрос
|
|||
|---|---|---|---|
|
#18+
D_PavelСкорее последнее, так как до больших объемов еще очень далеко, база только начинает заполняться. НО по опыту другого аналогичного проекта с уже приличной базой, даже при самых оптимальных запросах(наверное) которые делал опытный эскуэльщик, потребовался дорогой выделенный сервер. Мне бы хотелось чтобы база как можно дольше работала и росла на дешевом виртуальном сервере и не тормозила. ок, понятно, тогда я бы поставил приоритетом пиво. Не имея в наличии реальной проблемы, не имея в наличии больших данных -- вы даже план реальный не получите. Кроме того, пока вы доживете до больших обьемов -- структура данных и все апликация поменяется на 90%... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2013, 06:56:35 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38482819&tid=1835574]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 346ms |

| 0 / 0 |
