s******c 发帖数: 87 | 1 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 一个回答问题的人都没有啊。。。
expiration
【在 s******c 的大作中提到】 : 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
| B*****g 发帖数: 34098 | 3 limit?
expiration
【在 s******c 的大作中提到】 : 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
| a9 发帖数: 21638 | 4 你搞个这么长的语句折腾人,当然没人回你啊。
自己再好好想想就是了。
【在 s******c 的大作中提到】 : 一个回答问题的人都没有啊。。。 : : expiration
| s********e 发帖数: 893 | 5 你要提供几行样本数据。原始数据是什么样的,query后你想要什么样的,这样别人看
了一目了然。否则大家还要费脑筋读你这个有毛病的长语句。想想是不是这个理。 |
|