2016-02-14 91 views
0

大家好我有SMaL公司的问题与SQL我需要的只是结果,而不复制 SQL表:如何选择记录而不重复

CREATE TABLE `charts` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `timespan` varchar(200) DEFAULT NULL, 
    `visits` int(11) DEFAULT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=latin1; 

SQL插入:

INSERT INTO charts (timespan, visits) 
VALUES "2016-02-14 10:00 PM", '1234')"; 

结果:

$result = mysql_query("SELECT * FROM charts"); 

while($row = mysql_fetch_array($result)) { 
    echo $row['timespan'] . "\t" . $row['visits']. "\n"; 
} 
+3

可能重复的[如何在SQL中只有一个字段上重复选择记录?](http://stackoverflow.com/questions/12239169/how-to-select-records-without-duplicate-on-just- one-field-in-sql) –

+1

说真的,你[google](https://www.google.com/search?q=sql+select+distinct)这个吗? – trincot

+0

你需要所有的**独特的**行?或者在单个列上具有不同值的行? –

回答

0

如果您只需要不同的行,则可以使用distinct关键字:

select distinct * from charts 

但是,如果你需要不同的值一列,你需要你的子句中使用group by,这取决于哪一列需要不同的价值观和agregate其他的。

+0

是的我知道我的问题是INSERT INTO图表(时间跨度,访问) VALUES“2016-02-14 10:00 PM”,“1234')”;所以如果打了10次它将添加到我的SQL表,所以我想没有重复的访问= 1234例如,如果在插入访问= 1234然后不需要添加只是neet功能来检查访问是否已经在数据库中 – Tim

+0

对不起,我不能很好地理解你。如果你蚂蚁不同的数据,就像我在回答中所说的 ...你也可以使用'select avg(timespan),来自图表组的访问' –

+0

thx我得到固定的不同 – Tim