Запрос к базе данных

Статус
В этой теме нельзя размещать новые ответы.

ivashka

Полезный
Регистрация
16 Май 2007
Сообщения
151
Реакции
15
Как написать запрос к базе данных?
Вот что нужно:
Есть столбик в котором записаны ИД, как вывести N записей с ИД который встречается наиболее часто, по убыванию...
Заранее благодарен...
 
Тестовая таблица test1:
`ID` int(10) unsigned NOT NULL auto_increment,
`SID` int(10) unsigned NOT NULL,
`Name` varchar(45) default NULL,
`Surname` varchar(45) default NULL,

Запрос:
SELECT * FROM test1 WHERE SID=(SELECT SID FROM test1 GROUP BY SID ORDER BY COUNT(*) DESC LIMIT 1) LIMIT N

N меняешь на свой, SID - это твой ИД

Дополнительные запросы (мож пригодятся если не знаешь sql)
SELECT SID FROM test1 GROUP BY SID ORDER BY COUNT(*) DESC LIMIT 1 - получает тот ИД который наиболеее часто встречается
SELECT SID,COUNT(*) as cnt FROM test1 GROUP BY SID ORDER BY COUNT(*) DESC - получает частоту по SID по убыванию
SELECT SID,COUNT(*) as cnt FROM test1 GROUP BY SID ORDER BY COUNT(*) ASC - получает частоту по SID по возрастанию

ПС. Пробовал на MySql, ПС2 - понятно, что имена полей надо поменять на свои и тд.
 
SELECT * FROM test1 WHERE SID=(SELECT SID FROM test1 GROUP BY SID ORDER BY COUNT(*) DESC LIMIT 1) LIMIT N
А как сделать что бы еще и количество встреч выводилось?
Тоесть ИД=1 - 10 встреч
ИД=2 - 3 встречи и т.д.
 
SELECT SID,COUNT(SID) FROM test1 GROUP BY SID
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху