在while循环中,仅选择具有不同列值的行

时间:2017-12-30 17:11:12

标签: sql

我有下表:

ID   User   Data
1    isma   A
123  john   B
456  lucy   A
789  isma   A
111  luke   A

我想选择价值仅为A但我不希望isma出现两次的所有用户,我的意思是只选择唯一身份用户,请不要建议我设置用户的唯一索引,因为我不能。我对任何答案都非常感激:)

这是我的SQL:SELECT * FROM table WHERE data = 'A'但当然它会两次输出用户isma

1 个答案:

答案 0 :(得分:2)

使用DISTINCT

SELECT DISTINCT User FROM table WHERE data = 'A';

<强>输出

| User |
|------|
| isma |
| lucy |
| luke |

如果您还希望使用相同名称和Data = 'A'的用户数,则可以使用Group By

SELECT User,
       COUNT(*) AS 'User Count'
FROM table 
WHERE Data = 'A'
GROUP BY User;

<强>输出

| User | User Count |
|------|------------|
| isma |          2 |
| lucy |          1 |
| luke |          1 |