powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / SQLite [игнор отключен] [закрыт для гостей] / как выбрать?
16 сообщений из 16, страница 1 из 1
как выбрать?
    #37044655
TitovDima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здраствуйте! Подскажите, как выбрать при помощи count() в таблице поле, с которым больше всего записей. Например есть таблицы:
CREATE TABLE STUDENT (
ID INTEGER NOT NULL PRIMARY KEY,
NAME VARCHAR(20) NOT NULL);

CREATE TABLE GROUP (
ID INTEGER NOT NULL PRIMARY KEY,
NAME VARCHAR(10) NOT NULL);

CREATE TABLE STUD_GROUP (
STUDENT_ID INTEGER NOT NULL,
GROUP_ID INTEGER NOT NULL, //это два внешних ключа для тех таблиц
PRIMARY KEY(STUDENT_ID, GROUP_ID));

И нужно выбрать в таблице STUD_GROUP поле STUDENT_ID, с которым больше всего записей. Допустим у меня эта таблица заполнена так:
1 | 1
1 | 2
1 | 3
2 | 1
2 | 2
3 | 4

В итоге должно быть STUDENT_ID = 1. Вопрос - как это сделать?
...
Рейтинг: 0 / 0
как выбрать?
    #37044711
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
99 из 100 - задача высосана из пальца и в реальности не нужная.
Но если хочется извращаться, то запросто:
Код: plaintext
1.
select limit  1  t.STUDENT_ID, max(t.COUNT) 
from ( select STUDENT_ID, count(GROUP_ID) as COUNT from STUD_GROUP group by STUDENT_ID) as t
...
Рейтинг: 0 / 0
как выбрать?
    #37045003
TitovDima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а что такое limit?
...
Рейтинг: 0 / 0
как выбрать?
    #37045029
TitovDima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
limit в SQLite нету, он же в MySQL
...
Рейтинг: 0 / 0
как выбрать?
    #37045050
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TitovDimalimit в SQLite нету, он же в MySQLЧитай букварь, полезно будет: http://sqlite.org/lang.html
...
Рейтинг: 0 / 0
как выбрать?
    #37045094
TitovDima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl99 из 100 - задача высосана из пальца и в реальности не нужная.
Но если хочется извращаться, то запросто:
Код: plaintext
1.
select limit  1  t.STUDENT_ID, max(t.COUNT) 
from ( select STUDENT_ID, count(GROUP_ID) as COUNT from STUD_GROUP group by STUDENT_ID) as t

как может работать эта конструкция, если LIMIT должен стоять после FROM а не перед??
...
Рейтинг: 0 / 0
как выбрать?
    #37045098
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TitovDimaWhite Owl99 из 100 - задача высосана из пальца и в реальности не нужная.
Но если хочется извращаться, то запросто:
Код: plaintext
1.
select limit  1  t.STUDENT_ID, max(t.COUNT) 
from ( select STUDENT_ID, count(GROUP_ID) as COUNT from STUD_GROUP group by STUDENT_ID) as t

как может работать эта конструкция, если LIMIT должен стоять после FROM а не перед??Молодец. Начинаешь думать. Теперь сделай следующий шаг и исправь ошибки в запросе который я написал.
...
Рейтинг: 0 / 0
как выбрать?
    #37045118
TitovDima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
select * from (select STUDENT_ID, count(GROUP_ID)
from GROUP_PARTY group by STUDENT_ID);

создает "таблицу" в которой id и кол-во записей с этими id.
теперь нужно выдрать отсюда id с максимальным кол-вом записей.
...
Рейтинг: 0 / 0
как выбрать?
    #37045120
TitovDima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TitovDima,

черт, я бред написал) просто таблица GROUP не может создаваться, я и создал PARTY.
там должно быть STUD_GROUP вместо GROUP_PARTY.
...
Рейтинг: 0 / 0
как выбрать?
    #37045126
TitovDima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TitovDima,

и как выдрать оттуда этот ID?
...
Рейтинг: 0 / 0
как выбрать?
    #37045132
TitovDima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TitovDima,

надо выдрать ID, у которых count(GROUP_ID) из той "таблицы" будет самым большим
О великий White Owl скажи как это сделать?)
...
Рейтинг: 0 / 0
как выбрать?
    #37045161
TitovDima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TitovDima,

УРАА, я сделал, спасибо, О Великий White Owl
...
Рейтинг: 0 / 0
как выбрать?
    #37045203
TitovDima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl,

запрос неправильный твой, я думаю, не то что надо он выдает(
...
Рейтинг: 0 / 0
как выбрать?
    #37045276
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TitovDima, ты решил тут дневник вести ? :)
...
Рейтинг: 0 / 0
как выбрать?
    #37045803
TitovDima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dmitry Arefiev,

да уже все, паника прошла, я сделал этот запрос, так что дневник закончился))
...
Рейтинг: 0 / 0
как выбрать?
    #37050017
Andrew1411
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TitovDima, История одного запроса.

новогодний бесцеллер ))))
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / как выбрать?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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