如果我添加另一列,Mysql DISTINCT无法正常工作

时间:2013-01-20 22:37:29

标签: mysql distinct

的MySQL>选择DISTINCT标题,来自myadmins的id;

+------+------------+
| id   | title      |
+------+------------+
|    1 | admin      |
|    2 | stack      |
|    3 | jeff       |
|    4 | admin      |
|    5 | stack      |
+------+------------+
1 row in set (0.00 sec)

修改

我想要的不是重复标题栏

+------+------------+
| id   | title      |
+------+------------+
|    2 | stack      |
|    3 | jeff       |
|    4 | admin      |
+------+------------+
1 row in set (0.00 sec)

2 个答案:

答案 0 :(得分:3)

DISTINCT适用于整行数据。由于ID在每一行上都不同,因此最终会出现重复的标题。

如果您需要ID,那么您可以使用汇总来获取MAX(ID)

select max(id) id,
  title
from yourtable
group by title
order by id

请参阅SQL Fiddle with Demo

答案 1 :(得分:2)

你会得到不同的(身份,头衔)夫妻。

id=1 and title=admin行与行id=4 and title=admin不同。

如果您只需要表格中的不同标题:

select DISTINCT title from myadmins;

+------------+
| title      |
+------------+
| admin      |
| stack      |
| jeff       |
+------------+