仅从数据库中选择之前未见过的值[关闭]
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 数据不起作用