|
|
|
Выборка из 2-х таблиц
|
|||
|---|---|---|---|
|
#18+
Есть две таблицы: 1. list с полями loadcount - число, categoryid - число (ссылка на поле id таблицы category) + куча других полей. 2. category (id - число, name - строка) Как построить такой запрос, чтобы в результирующей выборке содержались бы все поля таблицы list + category.name, а строки выводились по следующему правилу: три записи с наибольшим значением loadcount для каждого categoryid. Т.е. если в таблице category - 5 записей,то в запросе будет 15, причем сортировка сначала по категории, а затем по значению loadcount. Т.е. нужно сделать своего рода рейтинг самых популярных записей по категориям. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2005, 13:04 |
|
||
|
Выборка из 2-х таблиц
|
|||
|---|---|---|---|
|
#18+
По-моему, такой выборки в MySQL одним запросом сделать нельзя, во всяком случае, известными мне методами. Можно получить полностью, а в клиенте отсортировать C уважением, Евгений Крюков ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 18:31 |
|
||
|
Выборка из 2-х таблиц
|
|||
|---|---|---|---|
|
#18+
помнится, такая темка тут поднималась (в 2004 году) можно поискать. Там вроде 5 первых записей надо было вывести. Пора бы уже FAQ слабать по деревьям и рейтингам. ------------------ да пребудет с вами гугл! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 18:38 |
|
||
|
Выборка из 2-х таблиц
|
|||
|---|---|---|---|
|
#18+
Во-первых: возникает вопрос, а что делать если не будет для категории в принципе нужного количества (трех) записей? Как вариант решения предлагаю во временную таблицу для каждой категории запихивать значения. А затем выбирать из временной таблицы и показывать. А сколько вообще категорий то? Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 18:42 |
|
||
|
Выборка из 2-х таблиц
|
|||
|---|---|---|---|
|
#18+
На форуме по MS SQL подсказали такой запрос, но на mySQL он не работает Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2005, 10:17 |
|
||
|
Выборка из 2-х таблиц
|
|||
|---|---|---|---|
|
#18+
2 Boriska "три записи с наибольшим значением loadcount для каждого categoryid" или наибольшим И ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2005, 10:40 |
|
||
|
Выборка из 2-х таблиц
|
|||
|---|---|---|---|
|
#18+
И можно вообще пример структуры таблиц (с оператором create) и начальными данными (Insert операторами). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2005, 10:45 |
|
||
|
Выборка из 2-х таблиц
|
|||
|---|---|---|---|
|
#18+
Berkut2 Boriska "три записи с наибольшим значением loadcount для каждого categoryid" или наибольшим И ? Да, именно с наибольшими. Получается рейтинг. Например, если взять таблицы со следующими данными: Код: plaintext 1. 2. 3. Код: plaintext 1. 2. 3. 4. 5. 6. То в запрос должны попасть следующие записи: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2005, 11:08 |
|
||
|
Выборка из 2-х таблиц
|
|||
|---|---|---|---|
|
#18+
loadcount < l.loadcount? такое ощущение, что он выберет три записи с конца, т.е. самые непопулярные. И этот запрос не катит на мускле 4.1? ------------------ да пребудет с вами гугл! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2005, 12:21 |
|
||
|
Выборка из 2-х таблиц
|
|||
|---|---|---|---|
|
#18+
2 Boriska Слушай пытался по всякому сделать. В принципе решение знаю, но средствами (известными мне на данный момент) MySQL че-то никак не получается. Во всяком случае пока. Может кто еще какую идею подкинет. А задача рейтинга вообще хорошая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2005, 13:38 |
|
||
|
Выборка из 2-х таблиц
|
|||
|---|---|---|---|
|
#18+
как думаете, такое угребище прокатит? Код: plaintext 1. 2. 3. 4. да пребудет с вами гугл! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 00:18 |
|
||
|
Выборка из 2-х таблиц
|
|||
|---|---|---|---|
|
#18+
ну, почти пашет. Код: plaintext 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. 28. да пребудет с вами гугл! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2005, 15:56 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=32954867&tid=1854231]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 322ms |

| 0 / 0 |
