从单个表中选择相同多行的单个记录

时间:2018-04-05 03:56:05

标签: sql

我有一张桌子,

+-----+----------------+-----------------+---------+
| 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;

我只得到三个中的一个,例如

+---------------+
| companyName   |
+---------------+
| Mian and sons |
+---------------+

3 个答案:

答案 0 :(得分:0)

这是某种distinctgroup by

select distinct companyName from table t

Group by似乎比distinct

更有效率
select companyName
from table t
group by companyName

答案 1 :(得分:0)

使用Group by

select companyName from Company group by companyName 

答案 2 :(得分:0)

我认为他想说的是,他想要打印companyName列中的所有公司名称。我认为查询将返回一个公司名称,因为列中的所有公司名称都是相同的“Mian and sons”。如果companyName栏中有一些不同的公司名称,如“Jason and brothers”,它也会打印出来,如:

+--------------------+
| companyName        |
+--------------------+
| Mian and sons      |
+--------------------+
| Jason and brothers |
+--------------------+

所以,我的建议是,尝试在companyName列中添加一些其他名称并检查它。