我的数据库表名称“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查询错误。你可以帮我一下吗?
答案 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 BY
,DISTINCT
对所有行进行操作
$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。