我们可以对group_concat(distinct somefield)做一个DISTINCT吗? [英] Can we make a DISTINCT of a group_concat(distinct somefield)?
本文介绍了我们可以对group_concat(distinct somefield)做一个DISTINCT吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
http://sqlfiddle.com/#!2/37dd94/17
如果执行SELECT DISTINCT
,我得到的结果与SELECT
相同.
If I do SELECT DISTINCT
I get the same results as doing just SELECT
.
在查询结果上,您将看到两个包含"Evora"区的活动. 应该只出现一个.
On the query results, you will see two activities that contains the District "Evora". Only one should appear.
有任何线索吗?
推荐答案
How about the following query (SQL FIDDLE):
SELECT GROUP_CONCAT(APA_T.district), t.name
FROM tbl_activity AS t
JOIN tbl_activity_package AS ap ON t.id = ap.id_activity
JOIN
(
SELECT DISTINCT apa.district AS district,
(
SELECT s1.id_activity_package
FROM tbl_activity_package_address s1
WHERE apa.district = s1.district
ORDER BY s1.id DESC
LIMIT 1
) AS idActivityPackage
FROM
tbl_activity_package_address apa
ORDER BY apa.district
) AS APA_T
ON ap.id = APA_T.idActivityPackage
GROUP BY t.name
ORDER BY APA_T.district;
上面的查询将消除多余的Faro
和Evora
.
The above query will eliminate the extra Faro
and Evora
.
这篇关于我们可以对group_concat(distinct somefield)做一个DISTINCT吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文