如何以正确的方式使用 distinct
How to using distinct in correct way
我想创建一个页面来索引我拥有的所有标题。
我想为每个标题打印第一个词。
例如我有这样的标题
- 标题 1
- 标题2
- btitle3
- 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
但我不知道如何加入我的 distinct
代码,我尝试了但是错误。
你可以这样做:
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
子句中使用逗号。
我想创建一个页面来索引我拥有的所有标题。
我想为每个标题打印第一个词。
例如我有这样的标题
- 标题 1
- 标题2
- btitle3
- 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
但我不知道如何加入我的 distinct
代码,我尝试了但是错误。
你可以这样做:
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
子句中使用逗号。