
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
04.08.2013, 15:44:10
|
|||
|---|---|---|---|
|
|||
Нужна помощь в правильном получении данных голосования. |
|||
|
#18+
Есть таблица с множеством полей vit_pics в которой хранятся данные о фотографиях. Сейчас нас интересуют только 2 поля vk_votes, fb_votes. Нужно получить кол-во голосов vk+facebook и определить место фотографии в рейтинге. Я написал такой запрос. Код: sql 1. 2. 3. Потом place в программе просто увеличиваю на 1. Вроде работает, но есть одно но. Если есть несколько фотографии с одинаковым кол-вом голосов, начинает работать неправильно. Например: Есть 1 фотография с кол-вом голосов 10, 2 фотографии с кол-вом голосов 5 и 2 фотографии с кол-вом голосов 2. Так вот с 10 голосами фото будет конечно на 1-ом месте, 2 фото с кол-вом голосов 5 будут на втором месте, а вот 2 фото с кол-вом голосов 2 будут на 4-ом месте. Все дело в том, что мы просто считаем кол-во фотографий, у которых рейтинг больше, без учета того, что у несколько фотографий может быть одинаковый рейтинг. Вот собственно что мне нужно. Переписать запрос так, чтобы учесть недостаток моего запроса. Помогите, пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.08.2013, 16:00:14
|
|||
|---|---|---|---|
|
|||
Нужна помощь в правильном получении данных голосования. |
|||
|
#18+
rganzhuyevНапример: Есть 1 фотография с кол-вом голосов 10, 2 фотографии с кол-вом голосов 5 и 2 фотографии с кол-вом голосов 2. Так вот с 10 голосами фото будет конечно на 1-ом месте, 2 фото с кол-вом голосов 5 будут на втором месте, а вот 2 фото с кол-вом голосов 2 будут на 4-ом месте. и как должно быть "правильно" ? обе на 3-ем месте ? или одна на 3-ем, вторая на 4-ом ? первое - так Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.08.2013, 16:00:15
|
|||
|---|---|---|---|
Нужна помощь в правильном получении данных голосования. |
|||
|
#18+
rganzhuyev, Вам надо четко определится как расставлять места в пределах одинакового количества фотографил. Допустим, по ИД. Тогда авторSELECT t1.id, (t1.vk_votes + t1.fb_votes) votes, ( SELECT COUNT(t2.id) FROM vit_pics t2 WHERE (t2.vk_votes+t2.fb_votes) > votes AND t2.id > t1.id ) place FROM `vit_pics` t1 WHERE t1.id= + someId; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.08.2013, 16:38:57
|
|||
|---|---|---|---|
|
|||
Нужна помощь в правильном получении данных голосования. |
|||
|
#18+
qwerty112, Спасибо, большое, да это именно то что нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.08.2013, 17:11:16
|
|||
|---|---|---|---|
|
|||
Нужна помощь в правильном получении данных голосования. |
|||
|
#18+
Что-то там не так... sqlfiddle.com/#!2/1b836/27 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&tablet=1&tid=1836321]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 311ms |

| 0 / 0 |
