powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / помогите с запросом
6 сообщений из 6, страница 1 из 1
помогите с запросом
    #33894892
skomoroh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нужно запрос такого вида

2 таблицы( базы по 1000000 записей ), слиты по user_id, сделана выборка по нескольким полям, отсортированны по другим нескольким и взяты последние 100 записей, как к ним( 100 выбранных ) прикрутить( left join??? ) еще одну таблицу( 10000 записей, лог подключений ) где на 1 user_id несколько записей( или совсем нету ), сгрупировать по user_id и подсчитать кол-во строк в 3-й таблице

нужно в итоге:

iser_id(общее) - name( 1 таблица, в ней инфа по пользователю ) - num( 2 таблица, по ней сортировки) - sumLog( 3 таблица, сумма строк логов )

пасиба
...
Рейтинг: 0 / 0
помогите с запросом
    #33894979
Можно сделать подзапросами.
select t1.user_id,t1.name,..., count(*) from (select ... объединяем 2 таблицы, делаем выборку, сортируем, делаем limit 100) t1 left join <третья таблица> group by t1.user_id,t1.name,... order by ...

работать будет достаточно быстро. Хотя, смотря как подзапрос организовать..
...
Рейтинг: 0 / 0
помогите с запросом
    #33895090
skomoroh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
разобрался, пасиба
получилось что-то вроде этого:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
SELECT temp1.user_id,
       temp1.name,
       temp1.zzz,
       sum(logs.log)
FROM (
      SELECT users.user_id,
             users.name,
             zzz.zzz
      FROM public.users,
           public.zzz
      WHERE users.user_id = zzz.user_id AND
            zzz.num >=  10 
            /*( and условия ) */
      ORDER BY zzz.zzz DESC
      LIMIT  10 
     ) temp1
     left JOIN public.logs on temp1.user_id = logs.user_id
GROUP BY temp1.user_id,
         temp1.name,
         temp1.zzz,
ORDER BY temp1.zzz DESC;
...
Рейтинг: 0 / 0
помогите с запросом
    #33900026
mr_Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть табличка
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
ID        ParentID       Title
---------------------------
 1            null              11111 
 2            null              222222 
 3             2                  33333 
 4             2                  44444444 
 5             1                  555555 
 6            null              6666666 
 7             3                  7777777 
 8             3                  88888888 
 9             7                  99999999 

в кот. хранится структура каталога с множественным вложением.
и есть запрос кот. получает текущую строку в каком каталоге находишься. Например если передать параметр 9, то выводит 9999999. Но хотелось бы чтоб выводился полный путь как в этот каталог шли (пусть в обратном порядке: 99999->777777->333333
подскажите плиз как это реализовать.
...
Рейтинг: 0 / 0
помогите с запросом
    #33900207
Shweik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
помогите с запросом
    #33900294
DeWiL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хранение деревьев еще можно организовать при помощи библиотеки ltree (for pgsql)
она не делает рекурсивного обхода по дереву.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / помогите с запросом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]