我有如下mysql表:
| id | seller | type |
| 1 | 345 | AB |
| 3 | 234 | CD |
| 7 | 345 | AB |
| 10 | 234 | AB |
在这个例子中,我有id 1和7的副本,我只需要返回其中一个。所以我运行以下查询:
SELECT *
FROM table1
ORDER BY seller, type ASC;
这给了我一张table:
| id | seller | type |
| 10 | 234 | AB |
| 3 | 234 | CD |
| 1 | 345 | AB |
| 7 | 345 | AB |
使用group by type运行以下查询时:
SELECT *
FROM (
SELECT *
FROM table1
ORDER BY seller, type ASC
) AS T1
GROUP BY T1.type;
我只会得到两张唱片。
我的解决方案是用“unique\u id”创建额外的列,这将是seller和type的组合,然后按unique\u id分组。
谢谢。
2条答案
按热度按时间fafcakar1#
请试试这个
它的输出将是:-
fcy6dtqo2#
试试这个: