У меня есть таблица mytable
, как показано ниже;Запрос MySQL возвращает повторяющиеся строки
╔═════════╦══════╦═════╗
║ product ║ tag ║ lot ║
╠═════════╬══════╬═════╣
║ 1111 ║ 101 ║ 2 ║
║ 1111 ║ 102 ║ 5 ║
║ 2222 ║ 103 ║ 6 ║
║ 3333 ║ 104 ║ 2 ║
║ 4444 ║ 101 ║ 2 ║
║ 5555 ║ 101 ║ 2 ║
║ 5555 ║ 102 ║ 5 ║
║ 6666 ║ 102 ║ 2 ║
║ 6666 ║ 103 ║ 5 ║
║ 7777 ║ 101 ║ 2 ║
║ 7777 ║ 102 ║ 5 ║
║ 7777 ║ 103 ║ 6 ║
║ 8888 ║ 101 ║ 1 ║
║ 8888 ║ 102 ║ 3 ║
║ 8888 ║ 103 ║ 5 ║
║ 9999 ║ 101 ║ 6 ║
║ 9999 ║ 102 ║ 8 ║
╚═════════╩══════╩═════╝
У меня есть вход 101
, 102
. Я хочу, чтобы выход понравился;
2,5
6,8
У меня есть запрос типа;
select group_concat(lot order by lot)
from `mytable`
group by product
having group_concat(tag order by tag) = '101,102';
Возврат;
2,5
2,5
6,8
Вместо двух 2,5
, я хочу только один, избегая повторяющиеся строки. Как я могу это сделать?
Вот скрипка http://sqlfiddle.com/#!9/7a78bb/1/0
попробовать 'выбрать отличный GROUP_CONCAT (много заказов по жребию) ' –
TIL, что SQLFiddle - это вещь. Потрясающие. – Draco18s
Возможный дубликат [Запрос MySQL возвращает нежелательные строки при извлечении строк на основе определенных комбинаций тегов] (http://stackoverflow.com/questions/34885425/mysql-query-returns-unwanted-rows-on-fetching-rows-based- on-specific-tag-combina) – CodeGodie