Php 如何正确使用distinct
我想创建一个页面来索引我所有的标题 我想打印每个标题的第一个字 例如,我有这样的标题Php 如何正确使用distinct,php,mysql,sql,pdo,distinct,Php,Mysql,Sql,Pdo,Distinct,我想创建一个页面来索引我所有的标题 我想打印每个标题的第一个字 例如,我有这样的标题 A atitle1 atitle2 B btitle3 V vtitle4 阿蒂特尔1 阿蒂特尔2 btitle3 vtitle4 所以,我想创建这样的索引 A atitle1 atitle2 B btitle3 V vtitle4 这是我想要的 SELECT * FROM master_post, category_relation, category WHERE ca
A
atitle1
atitle2
B
btitle3
V
vtitle4
A
atitle1
atitle2
B
btitle3
V
vtitle4
这是我想要的
SELECT * FROM master_post,
category_relation,
category WHERE category_relation.id_mp = master_post.id_mp
AND category_relation.id_c = category.id_c
AND category.slug_c = 'dorama' AND 1 ORDER BY master_post.judul_mp ASC
我不确定,但我认为它使用的是Distinct
。这里是我创建的Distinct
SELECT DISTINCT LEFT(judul_mp, 1) AS firstletter FROM master_post WHERE judul_mp = :judul_mp
但是我不知道如何加入我的独特的代码,我尝试了一下,但出现了错误。您可以这样做:
SELECT mp.judul_mp as str
FROM master_post mp JOIN
category_relation cr
ON mp.id_mp = cr.id_mp JOIN
category c
ON cr.id_c = categcry.id_c
WHERE c.slug_c = 'dorama'
UNION ALL
SELECT DISTINCT LEFT(mp.judul_mp, 1)
FROM master_post mp JOIN
category_relation cr
ON mp.id_mp = cr.id_mp JOIN
category c
ON cr.id_c = categcry.id_c
WHERE c.slug_c = 'dorama'
ORDER BY str;
注意使用正确、明确、标准的JOIN
语法。不要在FROM
子句中使用逗号。您应该在应用程序代码中处理与显示相关的事情。不,我不认为这是DISTINCT
的目的。Madhur idea已经是最简单的了。您的第一个查询返回许多列。第二个返回一列。您的示例结果有一列。我不知道你到底想做什么。但是如果我想再添加一个和,该怎么办?我想添加其中mp.judul\u mp=:charac
@Jazuly。如果我想选择多列,我会尝试添加选择mp.judul\u mp作为str,mp.link\u mp作为lnkstr,因为这是我想添加链接的索引,我会在名为link\u mp
@Jazuly的master\u post
表中插入链接。这将是一个不同的问题,应该作为一个新问题提出。