- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева

Как удалить плохие SEO-ссылки и очистить ссылочную массу сайта
Применяем отклонение ссылок
Сервис Rookee
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Помогите придумать структуру таблицы/таблиц и написать правильный SELECT.
Задача:
Есть объекты `id` = [1..очень много]
У каждого объекта есть данные `ido` = [1...очень много]
при этом `ido` можно сделать со сквозной нумерацией (каждое данное имеет уникальный IDO) или нумерация для каждого объекта своя (каждое данное имеет уникальную комбинацию ID, IDO)
Как выбрать N последних данных для каждого объекта?
или вот конкретный пример. Если 100 городов, и для каждого города записываются новости. Хочется на страницу вывести по 10 последних новостей для каждого города.
это основы, может почитать по sql если такие простые вещи вызывают вопросы, или специалиста нанять...
[FROM table WHERE definition]
[ORDER BY col_name [ASC | DESC], ...]
[LIMIT [offset], rows]
зы. /ru/forum/comment/13684688
Или через phpmyadmin через раздел "Поиск" задать, что вы хотите. Он выведет вам запрос.
LEOnidUKG, нечего еще искать)
Помогите придумать структуру таблицы/таблиц
это основы, может почитать по sql если такие простые вещи вызывают вопросы, или специалиста нанять...
Вы наверное не совсем поняли задачу.
Я пока ее решаю создавая кеш последних записей MySQL в еще одной таблице. Но думаю, чожет кто посоветует красивее решение?
---------- Добавлено 09.01.2016 в 17:56 ----------
Или через phpmyadmin через раздел "Поиск" задать, что вы хотите. Он выведет вам запрос.
select * where `id`=1 order by `ido` DESC limit 5
.
.
.
select * where `id`=1000 order by `ido` DESC limit 5
И как это объединить в один запрос?
И как это объединить в один запрос?
т.е. тысяча последовательных SELECT.... не уверен что это самое оптимальное решение. особанно если БД на несколько сотен миллионов записей
Я ответил только на:
И как это объединить в один запрос?
:)
Ставьте реальные цели. (с) старая социальная реклама.
В исходном посте: 100 городов... по 10 последних новостей для каждого города. 100*10=1000 новостей на одной странице. Интересно их кто-нибудь будет читать? :)
Следующий пост: where `id`=1000 order by `ido` DESC limit 5
Итого 5000 новостей на одной странице... километровые портянки в дорвеях нервно курят в сторонке. 😂
Шутки, шутками, но тут чудеса в одном запросе вряд-ли будут. Можно получить одним запросом самую последнюю новость с любого количества городов.
Получить 10 последних новостей одним запросом будет проблематично. Пытаться испольховать финты типа where ... ido>=max(ido)-5 (при условии, что ido последовательно и непрерывно в пределах одного id) - может вылезти боком при удалении новостей, да и придеться делать лишние телодвижения пля поддержки последовательной и непрерывной нумерации, по затратам - оно того не стоит.
Рабочие варианты: кеширование, как у Вас, последних новостей в отдельной таблице или кеширование уже результирующего html блока.
:)
:)
В исходном посте: 100 городов... по 10 последних новостей для каждого города. 100*10=1000 новостей на одной странице. Интересно их кто-нибудь будет читать? :)
Это я привел пример, чтобы было понятно. Многие люди так устроены, что они не понимают абстрактной задачи, а как только переходишь к яблокам и корзинам - сразу все понимают.
А что я с этим буду делать - это уже следующий вопрос.
Может я вебсайт про анализ землетрясений на разные страны делаю или еще что с очень массивными данными, а вывод будет не виде новостей а виде каких либо графиков строящихся на лету на компьютере пользователя.
Рабочие варианты: кеширование, как у Вас, последних новостей в отдельной таблице или кеширование уже результирующего html блока.
Иногда меня посещает мысль, что я "зарапортавался" и со всякими кешированиями создаю неведомый велосипед, который давно уже решен другими способами.... Думал может можно как без кеширования легко сделать...
ПС. Нужно было бы по одной строке на ID найти - воткнул бы DISTINCT `id` в запрос и все...
Вы наверное не совсем поняли задачу.
наверное вы ее не совсем понятно описали... для конкретной задачи давайте конкретные данные, на нормальном программерском форуме вам никто бы отвечать не стал без приведенной структуры таблиц. и, да, видимо я не понял ваших желаний)
Многие люди так устроены, что они не понимают абстрактной задачи, а как только переходишь к яблокам и корзинам - сразу все понимают.
те вы понимаете абстрактные задачи, но спрашиваете у людей которые их не понимают?))
Хочется на страницу вывести по 10 последних новостей для каждого города.
например http://webi.ru/webi_articles/8_14_f.html с ограничениями и постобработкой)
наверное вы ее не совсем понятно описали... для конкретной задачи давайте конкретные данные, на нормальном программерском форуме вам никто бы отвечать не стал без приведенной структуры таблиц. и, да, видимо я не понял ваших желаний)
т.к. я не знаю как еще можно решить такую задачу, то я дал описание задачи (новости и города) и дал ее в более формальном виде (id, ido).
Я не знаю, может можно данную задачу решить через правильно составленную структру таблицы/таблиц - поэтому я не привел структуры таблицы.
Нихочу никого лично обижать. Но по своему опыту понял что лучше задачу давать и так и так - выше шанс на успех.
например http://webi.ru/webi_articles/8_14_f.html с ограничениями и постобработкой)
Вот к ней бы LIMIT прикрутить - было бы то что нужно :) ну и ограничения на размеры там.