Mysql 使用;及;带“的声明;选择DISTINCT";
我正在尝试制作一个搜索引擎,我想要的是为两列选择不同的行Mysql 使用;及;带“的声明;选择DISTINCT";,mysql,Mysql,我正在尝试制作一个搜索引擎,我想要的是为两列选择不同的行 $sorgu = mysql_query("SELECT DISTINCT name AND surname FROM users"); while($cek = mysql_fetch_array($sorgu)) { $display = $cek['name']." ".$cek['surname']; if(strcmp($written,$display) == 0)
$sorgu = mysql_query("SELECT DISTINCT name AND surname FROM users");
while($cek = mysql_fetch_array($sorgu))
{
$display = $cek['name']." ".$cek['surname'];
if(strcmp($written,$display) == 0)
{
echo $display;
}
}
我得到了两个未定义的索引错误,名字和姓氏。当我删除这里的“and”语句时,代码工作正常。我如何在这里使用“AND”,意思是同时比较两列?
感谢对于多个字段,请使用GROUP BY而不是DISTINCT;将其更改为DISTINCT id 改变
$sorgu = mysql_query("SELECT DISTINCT name AND surname FROM users");
到
如果您试图提取一个不同的名称和姓氏,它应该是
SELECT DISTINCT Name, Surname
FROM Users
按姓名分组
这将为您提供如下结果:
Name | Surname
------------------
John | Smith
John | Doe
Doug | Smith
Name | Surname
------------------
John | Smith
John | Doe
John | Smith
它防止出现以下结果:
Name | Surname
------------------
John | Smith
John | Doe
Doug | Smith
Name | Surname
------------------
John | Smith
John | Doe
John | Smith
在大多数数据库中,
独特的
(或独特的
)相当于一个分组。。。按
排序,而按分组本身是无序的不同的
这:
所有这些都应该为您提供一组独特的记录,但最后一个应该产生最快的结果 此外,除了在代码中进行连接,您还可以在数据库中进行连接:
中应该是唯一的,
仅用于WHERE
(或等效子句)中的a。您也可以从用户中选择不同的concat(名称,,,姓氏),而不是在看似PHP+1中。我相信DISTINCT
在使用时适用于SELECT
语句中的所有内容。这是正确的,如果您想要DISTINCT Name
和DISTINCT姓氏
,则需要使用子查询来完成此操作。如果已应用DISTINCT,则不需要使用GROUP BY
SELECT name, surname
FROM users
GROUP BY name, surname
ORDER BY name, surname
SELECT name, surname
FROM users
GROUP BY name, surname
SELECT DISTINCT concat(name,' ',surname)
FROM users