- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
есть база (sqlite3, хотя можно и на MySQL перевести) в 100 млн строк.
в базе есть столбец с md5 хешами и индекс по этому полю.
хеши встречаются произвольное количество раз.
можно как-то вывести "топ популярных" записей (подсчитать сколько каждая строка встречается раз и вывести отсортировав по популярности)?
проходить в цикле каждое значение, делая по нему выборку и потом sum это както нереально получится и не спортивно. :crazy: есть более красивые решения?
foxi, попробуйте через select count group by и order by
или как нибудь так
SELECT fieldname, count(field_name) FROM тейбл_md5 GROUP BY field_name HAVING count(*) > 1
или
Select Field1, count(*) from тейбл_md5 group by Field1
JagdTiger, спасибо что подсказали направление куда копать, сегодня буду тестировать.
foxi, незачто, может и не получится :) сам давно не баловался с SQL
Select Field1, count(*) as count from тейбл_md5 group by Field1 ORDER BY count DESC LIMIT 20
siv1987, апгрейд :)
siv1987, то что надо, красиво и в один запрос. на базе в 1,5 млн строк отрабатывает за 0,8 сек.