mysql BLOB问题

时间:2010-11-28 19:08:33

标签: mysql

这很好用。

SET @postrownum = 0, @postrank = 1, @postprev_val = NULL, @postprev_postnum = NULL;

SELECT @postrownum := @postrownum + 1 AS row,
@postrank := IF(@postprev_val!=postcount,@postrownum,@postrank) AS postrank,
c.user_id,
@postprev_postnum := IF(@postprev_val!=postcount,@postprev_val-postcount,@postprev_postnum) as morepost,
@postprev_val := postcount as postcount,
postcount*5 as postpoint from

(
select user_id,count(user_id) as postcount from post group by user_id order by postcount desc) as c

这不能正常工作

SET @postrownum = 0, @postrank = 1, @postprev_val = NULL, @postprev_postnum = NULL;

select id,postrank,morepost,postcount,postpoint from user as a left join

(SELECT @postrownum := @postrownum + 1 AS row,
@postrank := IF(@postprev_val!=postcount,@postrownum,@postrank) AS postrank,
c.user_id,
@postprev_postnum := IF(@postprev_val!=postcount,@postprev_val-postcount,@postprev_postnum) as morepost,
@postprev_val := postcount as postcount,
postcount*5 as postpoint from

(
select user_id,count(user_id) as postcount from post group by user_id order by postcount desc) as c) as b on a.id=b.user_id

更多信息将以[BLOB-1B]返回,很奇怪。有人可以帮忙!

1 个答案:

答案 0 :(得分:1)

很奇怪,问题在于此。

@postprev_postnum = NULL;

我设置为

@postprev_postnum = 0;

它适用于第二代码。

不明白你为什么。