У меня есть следующее SQL имя таблицы 'orders':
+--------------+------------+-------------------+------------+
| order_id | item_id | amount | commission |
+--------------+------------+-------------------+------------+
| 111 | 1234 | 23 | 1 |
| 222 | 1234 | 34 | 2 |
| 111 | 2345 | 45 | 3 |
| 111 | 1234 | 23 | 1 |
+--------------+------------+-------------------+------------+
И я пытаюсь выбрать только те строки, в которых order_id и item_id НЕ совпадают (удаляйте дубликаты, только если ОБА имеет то же значение), я попытался использовать «Group_By» следующим образом:
SELECT * FROM orders GROUP BY order_id,item_id
, но при этом удаляются все дубликаты order_id и все дубликаты item_id, вот результат:
+--------------+------------+-------------------+------------+
| order_id | item_id | amount | commission |
+--------------+------------+-------------------+------------+
| 111 | 1234 | 23 | 1 |
| 222 | 1234 | 34 | 2 |
+--------------+------------+-------------------+------------+
Я тоже пытался использовать DISTINCT, но мне нужно выбрать все столбцы в результате.
вот ожидаемый результат:
+--------------+------------+-------------------+------------+
| order_id | item_id | amount | commission |
+--------------+------------+-------------------+------------+
| 111 | 1234 | 23 | 1 |
| 222 | 1234 | 34 | 2 |
| 111 | 2345 | 45 | 3 |
+--------------+------------+-------------------+------------+
Надеюсь, его очистить Спасибо.