Php 如何仅获取每个类似内容的1行?

Php 如何仅获取每个类似内容的1行?,php,sql,Php,Sql,我在我的网站上有一个私人留言系统,我正试图把所有的主题的信息。 任何主题我都需要展示一次 因此,如果我有以下主题: hey hello hey good morning good morning 我需要打印这个: hey hello good morning 我可以用if划掉它,但我想用sql有更好的方法 谢谢。试试以下方法: SELECT DISTINCT subject FROM emails; 如果您使用SQL select distinct subjects from YOUR

我在我的网站上有一个私人留言系统,我正试图把所有的主题的信息。 任何主题我都需要展示一次

因此,如果我有以下主题:

hey
hello
hey
good morning
good morning
我需要打印这个:

hey
hello
good morning
我可以用if划掉它,但我想用sql有更好的方法

谢谢。

试试以下方法:

SELECT DISTINCT subject FROM emails;
如果您使用SQL

select distinct subjects
  from YOUR_TABLE.

备选案文1:

备选案文2:

和之间的差异 Distinct用于从满足查询条件的记录中筛选出唯一的记录

GROUPBY子句用于对触发聚合函数的数据进行分组,并根据GROUPBY子句中的列返回输出。它有自己的局限性,例如除了聚合函数之外,select查询中的所有列都必须是Group by子句的一部分

  • 有关参考信息,请参阅和
请添加一些关于何时使用
分组依据
以及何时使用
区分
的信息。你的回答暗示这两个是相同的,但这并不完全正确。Distinct和group by相似但不相等。例如。在一个有1000条记录、重复100次并使用一个函数的表中,最大的差异是性能。从表return 100 records中选择distinc函数(列),并对每个记录计算函数1000次。按函数(列)从表组中选择函数(列)是相等的。但按列从表组中选择函数(列)返回100条记录,并且只对函数进行100次计算。太棒了!解释是什么使这个答案成为一个好答案(和这里所有其他答案不同)。
Select subjects
  from YOU_TABLE
group by subjects
SELECT DISTINCT subject 
FROM my_table
 SELECT subjects
 FROM my_table
 GROUP BY subjects