仅从数据库中选择之前未见过的值[关闭]

Posted

技术标签:

【中文标题】仅从数据库中选择之前未见过的值[关闭]【英文标题】:Select from database only values not seen before [closed] 【发布时间】:2018-06-07 22:08:22 【问题描述】:

假设我有一个存储了这些数据的数据库:

Email-Link-Link2
1E@231-Example1-Example2
1E@231-Example3-Example4

如何通过 PDO 查询选择所有这些值,不包括之前看到的那些,所以在这种情况下 1E@231,将只选择一次。

【问题讨论】:

更新你在问题中尝试过的内容 请添加更多细节,代码示例 抱歉,我无法添加代码,因为我不知道我必须做什么。 在数据库表中你可以有一个标志。该标志在显示时设置为“1”。从一开始就是'0'' (欢迎来到 SO!)虽然这个问题的措辞和格式seem substandard,它看起来几乎可以回答:请编辑您的问题是否需要一个(第一个?)每个选择的每个电子邮件地址的属性元组,或每个电子邮件地址的一个属性元组恰好一次在一系列“不相关”选择中。。跨度> 【参考方案1】:

如果理解您所说的,这就是您的答案:使用 PDO 连接到数据库

<?php 
//CONNEXION TO DATA BASE WITH PDO...
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$base = new PDO('mysql:host=localhost;dbname=your_data_base', 'the_user', 'Your_password', $pdo_options);
//end of connexion to data_base
;?>

现在从数据库中获取不重复的数据(您可以使用 sql 函数 DISTINCT

<?php
$sc=$base->query("SELECT DISTINCT Email FROM table_where_data_stored");
while($data_distinct =$sc->fetch())
//your data will be displayed here

;
;?>

希望对你有帮助!!

【讨论】:

非常感谢!!!!!! 不客气!【参考方案2】:

为了避免双重选择,通常使用 DISTINCT 语句,如下所示:

SELECT DISTINCT *
FROM myTable

但是避免双重选择的最好方法是避免数据库中的冗余条目。据我了解您数据库中的两个条目,第二个是更新,您不想覆盖前一个条目。这是一个众所周知的问题,通常这样解决:

应该使用新电子邮件的特定日期,因此添加一个字段“valid_from”并将此 WHERE 语句添加到您的查询中:

WHERE valid_from > GETDATE()

GETDATE() 返回一个日期时间,因此选择“大于”就足够了。

【讨论】:

以上是关于仅从数据库中选择之前未见过的值[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

从 UIAlertController 重新加载 tableView 数据不起作用

如何创建临时表或仅从循环中的列中选择不同的值

SVM

关于堆栈的讲解(我见过的最经典的)

带你读AI论文:SDMG-R结构化提取—无限版式小票场景应用

机器学习—主要术语(整合版)