Задавайте вопросы, мы ответим
Вы не зашли.
Подскажите селект для выборки идентичных (повторяющихся либо похожих) значений в определенном столбике таблицы.
Для примера:
таблица - "table"
столбик - "column"
Спасибо.
Неактивен
Не понятно, что значит похожих. Для выборки повторяющихся значений без повторов:
Неактивен
Пытаюсь выполнить в phpmyadmin тот селект что "Для выборки всех повторяющихся значений (с повторами)" - получаю ошибку:
#1242 - Subquery returns more than 1 row
Под похожими подразумеваю фразы имеющие одинаковое начало или окончание или "корень":
Firefox 3.0.5 Final
Firefox 3.0.5 Final Russian
Браузер Firefox 3.0.5
Неактивен
Замените LIKE на IN
Неактивен
Спасибо за запрос. В свое время он мне здорово помог.
Но сейчас проблема возникла снова:
За это время база существенно подросла и запрос выполняется неимоверно долго. (в таблице около 25к строк). Ждал около часа - надоело.
Пытался оптимизировать производительность mysql сервера, надеялся что запрос будет выполняться быстрей - ничего не вышло.
Подскажите как решить проблему?
Спасибо.
Неактивен
Хм. А вообще подзапрос нужен?
SELECT `colname` FROM `tablename` GROUP BY 1 HAVING COUNT(*) > 1;
Нужен ключик по (`colname`).
Неактивен
Хм... работает! Спасибо!
Только что вы имели ввиду: "Нужен ключик по (`colname`)"?
Неактивен
Слово «индекс» Вам больше нравится?
Неактивен
возникла необходимость усложнить запрос.
К данному селекту нужно добавить условие:
среди повторяющихся значений выбрать нужно то, где дата в столбце 'date' (type=datetime) более поздняя
Неактивен
SELECT `colname`, MAX(`date`) FROM `tablename` GROUP BY 1 HAVING COUNT(*) > 1;
Неактивен
А как изменить запрос, если мне надо выбрать только те записи,у которых значение столбца COLUM повторяется у всех элементов с индексом (1-10).
Ну например, имеется таблица
Неактивен
Просто посчитайте их. Если количество строк равно четырем, это Ваш случай.
Если меньше — не у всех автомобилей.
Неактивен
Так не получится. Дело в том, что у ондного автомобиля может быть несколько параметров! Причем у одних атвтомобилей они могут отличаться. А мне надо выбрать только те параметры, которые есть у всех атомобилей!
Неактивен
Вы знаете количество автомобилей? Знаете. Можете найти параметры, количество
которых совпадает с количеством автомобилей? Можете. В чем проблема?
Неактивен
А если не сложно, можете привести хоть примерный запрос. А то я знаю как это сделать на стороне сервера, а вот в MySQL что-то не получается!
Неактивен
SELECT param_id, COUNT(*) AS c
FROM site_autos_params
WHERE auto_id IN (1,2,3,4) -- нас интересуют общие параметры у четырех видов машин
GROUP BY 1
HAVING c = 4 -- тут число должно совпадать с количеством элементов в IN
Неактивен
Да, так я получил param_id, который есть у всех авто, но мне еще надо получить значение этого параметра, для всех авто!
Неактивен
SELECT *
FROM site_autos_params
JOIN (SELECT param_id, COUNT(*) AS c
FROM site_autos_params
WHERE auto_id IN (1,2,3,4)
GROUP BY 1
HAVING c = 4) x USING (param_id)
WHERE auto_id IN (1,2,3,4)
Что-нибудь такое?
Неактивен
Добрый день.
Даже не знаю как сформулировать запрос в поисковик, дело в том, что мне нужно получить строки по списку id СО ВСЕМИ повторениями!
Пример:
Неактивен
Неактивен