从Mysql db获取唯一值

时间:2013-06-19 07:13:48

标签: php mysql

我的数据库表名称“Square”结构如下所示:

ID      Name    URL           Role
1       ab      www.url.com   xy
2       cd      www.url.com   xy 
3       ef      www.url.com   xy 
4       ab      www.url.com   xy
5       cd      www.url.com   xy
6       gh      www.url.com   xy

现在,我想从这张表中获得独特的价值。例如。唯一名称是:ab,cd,ef,gh,id,url和role。

所以我的sql查询看起来像这样:

$getpara = $_GET['role'];
$getsquare = mysql_query("SELECT ID, DISTINCT (Name), URL, Role FROM Square WHERE Role = 
'$getpara'");
但是收到错误信息,可能是我的SQL查询错误。你可以帮我一下吗?

4 个答案:

答案 0 :(得分:4)

尝试使用GROUP BY代替DISTINCT

$getsquare = mysql_query("SELECT ID, Name, URL, Role 
                          FROM Square 
                          WHERE Role = '$getpara' 
                          GROUP BY Name");

并且还尝试避免使用mysql_ *函数,因为它们已弃用。而不是使用mysqli_ *函数或PDO语句

答案 1 :(得分:0)

使用GROUP BYDISTINCT对所有行进行操作

$getsquare = mysql_query("SELECT ID, Name, URL, Role FROM Square WHERE Role = '$getpara' GROUP BY Name");

答案 2 :(得分:0)

$getpara = $_GET['role'];
$getsquare = mysql_query("SELECT DISTINCT Name, ID, URL, Role FROM Square WHERE Role = 
'$getpara'");

首先尝试没有'()'和DISTINCT。

答案 3 :(得分:0)

只需删除DISTINCT,您的查询就可以正常使用 - 由于您有唯一的名称,因此不需要DISTINCT CLAUSE。