-1

我的数据库表名“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 和角色。

所以我的 sql 查询是这样的:

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

但收到错误消息,可能是我的 sql 查询错误。你们能帮我吗?

4

4 回答 4

4

尝试使用GROUP BY而不是DISTINCT喜欢

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

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

于 2013-06-19T07:15:30.240 回答
0

使用GROUP BY,DISTINCT对所有行进行操作,

$getsquare = mysql_query("SELECT ID, Name, URL, Role FROM Square WHERE Role = '$getpara' GROUP BY Name");
于 2013-06-19T07:16:19.053 回答
0
$getpara = $_GET['role'];
$getsquare = mysql_query("SELECT DISTINCT Name, ID, URL, Role FROM Square WHERE Role = 
'$getpara'");

试试这个没有 '()' 和 DISTINCT 首先。

于 2013-06-19T07:18:15.163 回答
0

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

于 2013-06-19T07:23:02.103 回答