有这么一个需求,就是会员中的会员卡信息,要按照会员卡的消费时间排序,最后消费的排序在最前面
服务器 mysql 版本做了配置 不能用 distinct 或者 group by 这种方式
不使用这种会导致 关联交易流水表的时候会查到多个重复数据,这种情况下要怎么样实现需求
1
lllllliu 2019-08-22 15:38:59 +08:00
[
{ } ] |
2
lllllliu 2019-08-22 15:41:21 +08:00
obj = [
{ 会员卡信息... 会员消费信息:[ {消费时间...} ... ] } ... ] 然后根据 item->消费记录->Max(消费时间) 对 item 进行排序。。。应该就好了吧。 |
3
lllllliu 2019-08-22 15:42:14 +08:00
或者。。直接拿所有的消费记录来排序。。然后在关联查询会员卡。
|
4
taotaodaddy 2019-08-22 16:00:07 +08:00 via Android
min max
|
5
taotaodaddy 2019-08-22 16:01:06 +08:00 via Android
不能 group by,哟可能败了
|
6
taotaodaddy 2019-08-22 16:01:39 +08:00 via Android
哟改为我
|
7
stillyu 2019-08-22 16:14:35 +08:00 via iPhone
会员卡信息加个最后消费时间的字段?
|
9
saulshao 2019-08-22 18:01:19 +08:00
如果不能 distinct 或者 group by,那也不建议 join。
能用的办法就很有限了。 1. 查出所有的会员,想点办法过滤掉一些肯定没消费的。或者每次只处理一定范围的会员记录。 2. 根据会员去消费记录表查询需要的记录,在内存里排序并构造需要排序的结果 3. 排序 上述的步骤假设会员表肯定比消费记录表小,如果反之就倒过来写程序就行。长期来看应该是会员表更小才对..... |
10
conn4575 2019-08-23 05:52:10 +08:00 via Android
我更好奇为啥不让用 group by
|