SELECT DISTINCT 返回所有值

Posted

技术标签:

【中文标题】SELECT DISTINCT 返回所有值【英文标题】:SELECT DISTINCT returning all values 【发布时间】:2012-10-07 10:48:13 【问题描述】:

我对@9​​87654323@ 和 php/jQuery 有疑问。我正在使用自动完成功能,它正在工作,但不像预期的那样。我有一些行的数据库:

Lukoil..
Lukoil..
Statoil..
Statoil..
Statoil..
Neste..
Neste..

我有 SQL 查询:

SELECT DISTINCT name FROM poi_example WHERE name LIKE '%$text%' ORDER BY name ASC

但是当我在搜索输入中输入名称时,我没有得到不同的值:

所以我需要你的报价来做什么,

数据库输出:

INSERT INTO `poi_example` (`id`, `name`, `description`, `lat`, `lon`, `city`, `rajonas`) VALUES
(24, 'Statoil', 'Veiverių pl. 49a, Kaunas   tel.: 8-37 39 10 62   Degalinės darbo laikas Visą parą  Plovyklų darbo laikas: Visą parą', '54.88111', '23.89360', 'Kaunas', 'Aleksotas'),
(25, 'Statoil', 'Karaliaus Mindaugo pr.34a, Kaunas   tel.: 8-37 42 37 29      Degalinės darbo laikas Visą parą  Plovyklų darbo laikas: Visą parą', '54.89398', '23.91332', 'Kaunas', 'Naujamiestis'),
(26, 'Statoil', 'Tvirtovės al. 33A, Kaunas  tel.: 8-37 33 71 53      Degalinės darbo laikas Visą parą', '54.91333', '   23.92631', 'Kaunas', 'Žaliakalnis'),
(27, 'Lukoil', 'Darbo laikas: 00-24', '54.77708', '     24.11988', 'Kaunas', 'Petrašiūnai'),
(28, 'Lukoil', 'Darbo laikas: 06-22', '54.85523', '     24.44175', 'Kaišiadiorys', 'Autostrada'),
(32, 'Neste', 'Dirba visÄ… parÄ… 24/7', '55.665701', '21.175737', 'KlaipÄ—da', 'KlaipÄ—dos'),
(33, 'Neste', 'Dirba 24/7', '55.948191', '25.588700', 'Rokiškis', 'Rokiškio');

【问题讨论】:

在db上运行查询的结果是什么? 在说明您的问题与自动完成有关之前,您是否真的检查过查询结果? 类似问题:***.com/questions/6127338/… 在您的 phpMyAdmin 中不使用 WHERE 条件尝试一次 我同意 John Woo 的观点(已删除答案)——你有一张图片,但不能证明这些值是相同的——如果有尾随空格,它们将在该屏幕截图中不可见。跨度> 【参考方案1】:

您可以尝试使用聚合函数。

SELECT name
FROM poi_example
WHERE name LIKE '%$text%'
GROUP BY name
ORDER BY name ASC

【讨论】:

这不应该有任何区别(但它是 mysql ......) 此查询返回的值与我在顶部的问题图像中的值相同 应该不需要聚合【参考方案2】:

很明显问题出在您的应用程序上。 distinct 绝不会返回重复值,特别是因为您说该查询适用于您的数据库。

你确定你正在执行那个确切的查询吗?也许如果您发布一些代码,我们可以帮助您

【讨论】:

谢谢你的帮助,我找到了解决方案,因为我正在编辑重复的文件。 所以你应该自己添加一个答案来解释你做了什么并将其标​​记为答案。

以上是关于SELECT DISTINCT 返回所有值的主要内容,如果未能解决你的问题,请参考以下文章

第二十九章 SQL命令 DISTINCT

SQL SELECT DISTINCT 语句

二,本章讲解 SELECT DISTINCT 语句(distinct)

SQL SELECT DISTINCT 语句

如何 distinct 只对一个字段有用,同时查出其他字段

SQL SELECT DISTINCT 语句 用法