我有一个表包含客户ID和购买日期,我通过客户分群,但我想最后购买日期显示不是第一次购买日期集团通过/顺序由MySQL
我试着
GROUP BY客户
ORDER BY而purchaseDate DESC
我有一个表包含客户ID和购买日期,我通过客户分群,但我想最后购买日期显示不是第一次购买日期集团通过/顺序由MySQL
我试着
GROUP BY客户
ORDER BY而purchaseDate DESC
哪购买之日起,你需要什么?如果最后一次购买日期,然后查询应该是这样的:
SELECT *, max(purchasedate) FROM table1 GROUP BY customer
'SELECT *'是很差的练习。你应该总是指定一个列表。 – Kermit
没有看到实际的查询,您可能能够使用类似这样:
select t1.customerid, t1.purchasedate, t1.othercol1, t1.othercol2, t1.othercol3
from yourtable t1
inner join
(
select max(purchasedate) purchasedate, customerid
from yourtable
group by customerid
) t2
on t1.customerid = t2.customerid
and t1.purchasedate = t2.purchasedate
order by t1.purchasedate desc
或者你可以将max()
聚合函数的purchasedate
列
发布您的实际查询。我怀疑你正在向选择列表中的许多列应用“GROUP BY”,这是MySQL允许的(其他RDBMS不会)。你可能需要一个'MAX()'集合。 –
你可以发布你的整个SQL语句吗? – Aaron
mySql允许这种废话的事实是一种完全的耻辱...... –