如何在1个查询中选择与同一列中的多个元素匹配的不同行?

时间:2012-01-06 06:02:10

标签: mysql select

ID        object        type
1           1            u            
2           1            x
3           1            z
4           2            z
5           2            t
6           4            x
7           4            u
8           4            t

假设我拥有那组数据,我想得到的是所有不同的对象,它们匹配一些可变数量的类型,并按匹配的类型数量排序。全部在1个查询中。

所以我想说我想要的是u,x,t类型的对象。我希望从匹配所有匹配的对象中以后代顺序选择它们。如果any1可以帮助,我使用mysql ...

2 个答案:

答案 0 :(得分:3)

你去:

SELECT *, COUNT(ID) AS matches FROM table_name WHERE type IN('u','x','t') GROUP BY object ORDER BY matches DESC

答案 1 :(得分:0)

我不确定我理解您尝试做什么,但我想这会导致:

SELECT * FROM table WHERE type IN ('u','x','t') GROUP By object ORDER By object;