如何获取唯一行值的列表?

时间:2015-03-07 06:36:59

标签: sql

我有一个mail表,如下所示:

CREATE TABLE `mail` (
  `id` int(20) NOT NULL auto_increment,
  `userto` varchar(30) collate utf8_unicode_ci NOT NULL,
  `userfrom` varchar(30) collate utf8_unicode_ci NOT NULL,
  `message` longtext collate utf8_unicode_ci NOT NULL,
  `seen` int(1) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

我想做这样的事情:

SELECT userfrom FROM mail
WHERE userto = "admin"

但是,我不希望输出中有任何重复。我该怎么做?

4 个答案:

答案 0 :(得分:0)

您必须将DISTINCT用于非重复记录,例如

SELECT DISTINCT userfrom FROM mail
WHERE userto = "admin"

检查DISTINCT

答案 1 :(得分:0)

我认为你需要使用DISTINCT关键字。

有用的链接=> http://www.w3schools.com/sql/sql_distinct.asp

答案 2 :(得分:0)

您只需将列设为唯一

即可
ALTER TABLE mail
ADD UNIQUE (userto)

使用不同的DISTINCT

SELECT DISTINCT  userfrom FROM mail WHERE userto = "admin"

答案 3 :(得分:0)

您可以将DISTINCT关键字用于所选列的唯一值。

示例: -

SELECT DISTINCT userfrom FROM mail
WHERE userto = "admin"

HTH!