表中有以下结构:
id | name | descr
1 | BMW | asafsf saf
2 | Audi | asafsf saf
3 | Audi | asafsf saf
4 | Porsche | asafsf saf
5 | Mercedes | asafsf saf
6 | Mercedes | asafsf saf
7 | Audi | asafsf saf
我想获取表中只有一个记录的所有公司,因此在这种情况下,输出将是:
1 | BMW | asafsf saf
4 | Porsche | asafsf saf
如何做到这一点(我尝试过分组,但这也会报废表中有多行的其他公司)?
PS:我使用的是Ruby On Rails,所以ActiveRecord中可能有一个方法可以做到这一点。
先感谢您。
最佳答案
您可以使用GROUP BY,并使用HAVING子句将结果保留为一行:http://www.w3schools.com/sql/sql_having.asp
SELECT id, name, descr
FROM tablename
GROUP BY name
HAVING COUNT(*) = 1