《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
新增个排序字段,按排序要求写入排序值
ORDER BY shop_id ?
指定顺序 ORDER BY FIELD(shop_id,3,2,1,4)
分开查再组装呗,感觉不难呀,手动计算分页
假设每页10个数据,商家A总商品10个,商家B总商品5个,商家C总商品2个、记为A10、B5、C2
第一页:10/3=3,先每个商家查3个,实际A3、B3、C2,剩2再A1、B1,总计是A4、B4、C2
第二页:10/3=3,先每个商家查3个,实际A3、B1、C0,剩6再A3,总计是A6、B1、C0
我觉得这样算应该挺快了,资源消耗也没多大
我想问下,你这个排序,如果有C,D呢,需要怎么排,AABBCCDD吗
关于数据重组:
然后在PHP层面做拼接。
有一个间接处理的方法
在 shop 添加一个 sort 字段,跑脚本去计算 sort 的值
否则查询所有,再来组装太耗性能了
结束了xdm,打了一顿产品,他屈服了 :sweat_smile:
a b 各查询 N 条记录
感觉还是加字段帮助吧,数据量上来,算的话比较麻烦,而且,每一页数据多了也比较耗时间。用 observer,,监听这个表的数据库事件就好了,很简单。
可以描述一下使用的 MySQL 的版本,感觉这个功能窗口函数可以解决。不过感觉这个需求本身就不合理
换一个角度,从商家表去查,然后关联产品表呢?
典型的row_number场景
select a,b,c,d,row_number over ( partition by xx order by xx desc) as rn where rn <= 2
sql 查询实现起来可能需要多条语句跑出来组合才行
试试数据入 elasticsearch 吧