- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
добрый день. есть таблица. в нет поля пользователей со значениями года рождения.
как задать запрос, чтоб вывести только те года, которые есть у пользователей. тоесть мне все года к примеру с 1900 по 2000 не нужны, надо только года, в которых есть пользователь. вывести просто список годов.
Ну без самой таблицы трудновато, но потелепатировать можно
SELECT DISTINCT year FROM users;
о, класс!!! спасибо!!! а я думал както крутить перебором, но подумал что нагрузка будет огромедная:)
не забудь индекс по полю year поставить, а то как ты сказал нагрузка будет огроменная ))))))
SELECT year FROM table
выдаст только те года, в которых есть пользователи.
А чтобы убрать дублирующие года: как написал Dreammaker или
SELECT year FROM table WHERE 1 GROUP BY year
DenisR добавил 10.06.2008 в 23:21
bearman, индекс не спасёт. Надо бы временную табличку создавать с промежуточными данными... 😂
explain SELECT distinct years.`year` FROM `years`;
1 SIMPLE years range year 21 7 Using index for group-by
я бы поспорил ;)
bearman добавил 10.06.2008 в 23:33
-- Table "years" DDL
CREATE TABLE `years` (
`year` char(20) collate latin1_general_ci default NULL,
KEY `year` (`year`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
Вообще, если есть возможность использовать хранимые процедуры (MySQL 5), то лучше сделайте через них, в итоге будет всего 1 запрос, этого можно добиться в любом случае, а все остальные логические операции будут происходить внутри MySQL сервера.
всего 1 запрос
все остальные логические операции
Это вы о чём? :)
Это я об обращении к серверу БД. А логические операции выполнит хранимая процедура.
Skaizer, это понятно. Но какой смысл в данном конкретном случае использовать процедуры, триггеры и т.д.?
Skaizer, это понятно. Но какой смысл в данном конкретном случае использовать процедуры, триггеры и т.д.?
Думаю, что в данном конкретном случае (при малом количестве запросов) пока рано говорить о переходе на Oracle с PL/SQL. MsSQL с триггерами должно вполне хватить на первое время.