s******c 发帖数: 87 | 1 【 以下文字转载自 Database 讨论区 】
发信人: startabc (福球), 信区: Database
标 题: MySQL语句请教
发信站: BBS 未名空间站 (Sat Oct 5 21:18:30 2013, 美东)
1. Join两个table,需要返回最大值的行,写了如下语句,但是返回的还是第一行,只
是返回的其中的一个最大值。
2.在语句上再加上一个删除冗余数据,该怎么加啊,就是当p.date-u.data_applied 小
于2天。
谢谢
SELECT j. *
FROM user_plans u2
INNER JOIN (
SELECT u.cancel, p.user_id, p.package_id, p.date, p.start_date, p.expiration
_date, p.coupon_id, MAX( u.date_applied ) AS latest
FROM user_plans u
INNER JOIN payments p ON p.user_id = u.user_id
AND p.coupon_id =23
GROUP BY u.user_id
)j ON j.user_id = u2.user_id
AND j.latest = u2.date_applied
GROUP BY j.user_id
ORDER BY j.latest DESC | s******c 发帖数: 87 | 2 这边人比较多,不知道有没有对SQL特别熟悉的,帮忙给个答案呗谢谢 | s******c 发帖数: 87 | 3 其实问题就是如何写一个语句可以取出最大值的整行,而不是仅仅该值
谢谢 | s******c 发帖数: 87 | 4 这边人比较多,不知道有没有对SQL特别熟悉的,帮忙给个答案呗谢谢 | l****u 发帖数: 529 | 5 select*
from yourdata
group by yourgroupvariable
having yourneedvariable=max(yourneedvariable); | r**********d 发帖数: 510 | 6 order by u.date_applied desc limit 1; will give you one row for max date. |
|