mysql 多行 连续_MySQL按连续行分组

这是另一个与MySQL变量一起使用的版本,不需要进行3级嵌套.第一个记录按postID和Date的顺序对记录进行预排序,并在每当Post ID,Type和/或操作中的一个值发生更改时,为每个组分配一个序列号.从那开始,它是一个简单的小组……不比较记录版本T与T2与T3 …如果您想要4或5个条件怎么办…您是否必须嵌套更多条目?或者只添加2个@ sql变量进行比较测试…

您的通话效率更高…

select

PreQuery.postID,

PreQuery.PostType,

PreQuery.Target,

PreQuery.Action,

PreQuery.Title,

min( PreQuery.Date ) as FirstActionDate,

max( PreQuery.Date ) as LastActionDate,

count(*) as ActionEntries,

group_concat( PreQuery.content ) as Content

from

( select

t.*,

@lastSeq := if( t.action = @lastAction

AND t.postID = @lastPostID

AND t.postType = @lastPostType, @lastSeq, @lastSeq +1 ) as ActionSeq,

@lastAction := t.action,

@lastPostID := t.postID,

@lastPostType := t.PostType

from

t,

( select @lastAction := ' ',

@lastPostID := 0,

@lastPostType := ' ',

@lastSeq := 0 ) sqlVars

order by

t.postid,

t.date ) PreQuery

group by

PreQuery.postID,

PreQuery.ActionSeq,

PreQuery.PostType,

PreQuery.Action

对于标题,您可能需要调整行…

group_concat(分别为PreQuery.Title)作为标题,

至少这将使DISTINCT标题变得简明…要让其更难,而又不通过使最大查询日期和其他元素在所有条件下获得与该最大日期相关联的一个标题来使整个查询嵌套一层以上.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值