Может ли кто-нибудь сказать мне, как сделать SQL-запрос, который выбирает все строки, где по крайней мере один из 4 столбцов отличается от предыдущих строк. Я хочу, чтобы то же, что и вы, с GROUP, затем влияло на несколько столбцов. Когда я использую:MySQL - выберите, где по крайней мере 1 из 4 столбцов отличается
SELECT * FROM TABLE GROUP BY col1, col2, col3, col4
я не получаю результат я хочу потому, что столбцы сгруппированы после каждой другой
col1 col2 col3 col4
1 2 2 4
1 2 2 3 <-- different -> select
1 2 3 2 <-- different -> select
1 2 3 2 <-- don't select
2 2 3 4 <-- different -> select
Я не хочу в столбце 1 2 3 2 2 раза и принимать решение который один главный выбор основан на 5-й колонке
- Edit -
образец SQLfiddle данные: http://sqlfiddle.com/#!2/efd92e В этом примере я хочу, чтобы эти строки, возвращаемые
insert into tablename VALUES ("T", 12, 1000, 0, 500, 20.25); (4)*
insert into tablename VALUES ("H", 12, 150, 2500, 100, 45); (0)*
insert into tablename VALUES ("H", 12, 100, 2500, 100, 45); (2)*
*, если это возможно, я также хотел бы знать количество строк, которые не были выбраны потому, что они «дублируются».
Я пытался написать запрос, основанный на одном из awnser, но не успех еще
- Осветление -
- Сочетание 5 перевалы должен быть уникальным.
- Мне нужен ряд дубликатов с самым низким значением col6.
- Я хочу знать, сколько дубликатов этой строки в базе данных
Заранее спасибо за помощь
Возможный дубликат [Как я могу (или могу ли я) ВЫБРАТЬ ДИСКРИТЬ на несколько столбцов?] (Http://stackoverflow.com/questions/54418/how-do-i-or-can-i-select-distinct -on-multiple-columns) –
Вы должны перефразировать свой вопрос. Вы хотите выбрать строки, в которых по крайней мере один из столбцов изменился с ** предыдущей строки **. Вам также необходимо описать, как определяется порядок строк. – AgRizzo
user1141351 ваш результат не имеет смысла ?? '1 2 3 2 <- different -> select' with' 1 2 3 2 <- не выбирайте' Я думаю, что у AgRizzo есть точка здесь. –