powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Помогите с запросом.
16 сообщений из 16, страница 1 из 1
Помогите с запросом.
    #34191933
Jloki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вроде все перебрал , но никак не могу осуществить такой запрос. Имеется ,допустим , таблица с одним полем integer. Известно макс число в этой таблице , нужно найти число в этой таблице , которое больше всех остальных повторяется. Заранее спасибо.
...
Рейтинг: 0 / 0
Помогите с запросом.
    #34191953
СергейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JlokiВроде все перебрал , но никак не могу осуществить такой запрос. Имеется ,допустим , таблица с одним полем integer. Известно макс число в этой таблице , нужно найти число в этой таблице , которое больше всех остальных повторяется. Заранее спасибо.
Naprimer tak:

Код: plaintext
1.
select your_column from your_table group by your_column having count(*) = (select max(count) from (select count(*) from your_table group by your_column) as xx) ;

Vozmojno mojno i bolee optimalno...
...
Рейтинг: 0 / 0
Помогите с запросом.
    #34191966
Бабичев Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё очень просто. Нужно сделать агрегированный запрос + ORDER BY count(1) desc + LIMIT...
...
Рейтинг: 0 / 0
Помогите с запросом.
    #34198910
gensbest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
select count(*),int_col from tables group by 2 order by 1 desc limit 1
...
Рейтинг: 0 / 0
Помогите с запросом.
    #34218673
Jloki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо за ответы (к стати вопрос админам почему я не мог посты оставлять, до этого ), я написал такой запрос
Пояснение у меня есть таблицы диски
id name_of_disk
1 britni
2 madonna
3 ......

есть таблица песни
id name_of_song
1 music
2 the born to make you happy
3 Toxic
4 Hoolywood

А еще есть таблица соединяющая лиски с песнями.
disk_id song_id
1 2
1 3
2 1
2 4
3 ..
3 ..
3 ..

Так вот , чтобы узнать диск наибольшим количеством песен я написал такой вот запрос

select d.call_disk from disk_songs_id sod, disks d where sod.disk_id = d.snum group by d.call_disk
having count (songs_id) = (select max(t.cnt) from
(
select count(songs_id) as cnt from disk_songs_id, disks where disks.snum = disk_songs_id.disk_id group by disk_songs_id.disk_id
)
as t);
Но препод говорит что это не ужасно (не знаю что он имеет ввиду) , но я не знаю может кто знает какой-нить крутой агрегированный запрос , делает это за раз , помогите пож-ста.
...
Рейтинг: 0 / 0
Помогите с запросом.
    #34218685
Jloki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
поправка , наоборот препод сказал ужасно , а не не ужасно .
...
Рейтинг: 0 / 0
Помогите с запросом.
    #34218786
st_serg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
select
  d.name_of_disk,
  t.songsamt
from (
  select count( 1 ) as songsamt, disk_id
  from disk_songs_id
  group by disk_id
  order by  1  desc
  limit  1 
) t,
disks d
where d.id = t.disk_id
?
...
Рейтинг: 0 / 0
Помогите с запросом.
    #34220967
Jloki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А можно ли этот запрос сделать на одном селекте ?
...
Рейтинг: 0 / 0
Помогите с запросом.
    #34221000
ZemA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
select name_of_disk, count(*)
  from disks d
  join disk_songs_id ds
    on ds.disk_id = d.id
 group by disk_id, name_of_disk
 order by  2  desc
 limit  1 
...
Рейтинг: 0 / 0
Помогите с запросом.
    #34223078
Jloki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А можно ли это сделать без limit и с применением MAX
...
Рейтинг: 0 / 0
Помогите с запросом.
    #34223498
Jloki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Люди ,это просто реальная просьба о помощи , если я до завтра не напишу этот запрос привет армия , хотя у нас БД считается не главным предметом я почему-то оказался любимым студентом. У меня уже получается 12 попытка сдать. На этот раз от меня хотят чтобы не ипользовался limit 1, извините конечно , но у меня нет никакой надежды кроме этого форума. С одногруппниками плохо знаком. Спасибо заранее всем.
...
Рейтинг: 0 / 0
Помогите с запросом.
    #34223575
.gc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
.gc
Гость
Код: plaintext
1.
2.
3.
4.
select disk_id, count(song_id) 
from disks_songs 
group by disk_id
having count(song_id) >= ALL (select count(song_id) from disks_songs group by disk_id);
???
...
Рейтинг: 0 / 0
Помогите с запросом.
    #34223591
vadey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JlokiА можно ли это сделать без limit и с применением MAX
table student have 1 id 2 name

select max(st_count.counts)
from (select count(name) as counts
from student
group by name) st_count
...
Рейтинг: 0 / 0
Помогите с запросом.
    #34223647
Jloki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответы , но есть такой запрос
select call_disk, count(*)
from disks d
join disk_songs_id ds
on ds.disk_id = d.snum
group by disk_id, call_disk
order by 2 desc
limit 1;

нужно его неписать без limit 1;
проблема в том что надо чтобы запрос состоял из одного селекта и без Limit 1;
...
Рейтинг: 0 / 0
Помогите с запросом.
    #34223680
.gc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
.gc
Гость
Из одного селекта? Без подзапросов? Ну тогда могу предложить только грязный хак, PostgreSQL specific:
Код: plaintext
1.
2.
3.
4.
select distinct on (a)  1  as a, disk_id, count(song_id) as total_s
from disks_songs
group by a, disk_id
order by a, total_s desc;
...
Рейтинг: 0 / 0
Помогите с запросом.
    #34223715
Jloki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Суть проблемы в том что , когда мы делаем Limit 1 мы не можем вывести диски у которых одинаковое кол-во песен (максимальное)
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Помогите с запросом.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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