我试着拉这个,但我有点卡住了。
select
distinct( msc.id),
msc.campaignname ,
max(mst.createdate) as mydate
from MainMiniSiteCampaign as msc
right join MainMiniSiteTable as mst
on mst.campaignid = msc.id
order by msc.id
group by msc.id你知道我做错了什么吗?
(错误是“关键字‘group’附近的语法不正确”)
发布于 2013-07-08 16:26:59
GROUP BY需要在ORDER BY之前
编辑:我没读那么多:)
因为你是分组的,所以根本不需要distinct。
select
msc.id,
msc.campaignname ,
max(mst.createdate) as mydate
from MainMiniSiteCampaign as msc
right join MainMiniSiteTable as mst
on mst.campaignid = msc.id
group by msc.id, msc.campaignname因为group by意味着MySQL中的order by,所以也不需要指定ORDER BY。但您可能希望在组中添加campaignname,否则将随机选择每个msc.id组的campaignname。或者在不需要的时候将其从select中删除。
发布于 2013-07-08 16:29:07
试着这样做,
select
distinct( msc.id),
msc.campaignname ,
max(mst.createdate) as mydate
from MainMiniSiteCampaign as msc
right join MainMiniSiteTable as mst
on mst.campaignid = msc.id
group by msc.id
order by msc.id发布于 2013-07-08 16:34:20
select
msc.id,
min( msc.campaignname) ,
max(mst.createdate) as mydate
from MainMiniSiteCampaign as msc
right join MainMiniSiteTable as mst on mst.campaignid = msc.id
group by msc.id
order by msc.id使用group by msc.id时不需要distinct(msc.id)
https://stackoverflow.com/questions/17522015
复制相似问题