如图所示,是数据库表
如何通过用户名的模糊查询,获取用户的点餐列表,结果需要按照用户来分页,一个用户一页
每一页包含菜品名,单价和菜品总价
求sql语句,一条sql语句,一条~
MySQL8:
SELECT usr.id AS userid, usr.username, fd.foodname, fd.price, sum( fd.price ) OVER( PARTITION BY usr.id ) zj
FROM ( SELECT * FROM user WHERE username LIKE '%测试%' ) usr JOIN order ord ON usr.id = ord.userid
JOIN food fd ON ord.foodid = fd.id
ORDER BY usr.id;
既然你要分页查询,那还纠结一条干什么
你一条语句一下出来900行数据,你也没地方显示,还是都给隐藏了
那不如先加载出一个用户的数据,等点下一页的时候加载下一个用户的数据
这样又简单又可行
至于查询本身不难,无非就是一堆left join,这2个表和18个表没本质上的区别