如何从单表多行重复记录中选取单条唯一记录?
如何从单表多行重复记录中选取唯一记录?
嗨,我来帮你搞定这个问题~先还原下你的场景:你有一个Company数据表,结构和数据如下:
| ID | companyName | companyAddress | brandId |
|---|---|---|---|
| 1 | Mian and sons | 154 C | 1 |
| 2 | Mian and sons | 154 C | 2 |
| 3 | Mian and sons | 154 C | 3 |
当你执行普通的SELECT companyName FROM Company;时,会返回3条重复的Mian and sons记录,但你只需要其中一条唯一的结果对吧?这里有两种简单实用的方法:
- 方法一:使用
DISTINCT关键字
这是去除重复记录最直接的方式,它会自动过滤掉查询结果中的重复行。对应的SQL语句是:
SELECT DISTINCT companyName FROM Company;
执行后就能得到你想要的唯一一条Mian and sons记录。
- 方法二:使用
GROUP BY分组
如果后续你需要对其他字段做统计(比如统计每个公司关联的品牌数量),这个方法会更灵活。单纯获取唯一公司名的语句如下:
SELECT companyName FROM Company GROUP BY companyName;
它会将相同companyName的记录归为一组,每组仅返回一条结果,同样能实现你的需求。
内容的提问来源于stack exchange,提问作者Maqsood Ahmad
相关产品推荐
相关产品推荐

