我想显示最大的保证,具体用户有。例如,用户购买了3个项目,其中有1年,2年,5年的保证。所以我想出示5年的保证书和这个产品的名称。我做了子查询,以防很少产品有这种保证。
SELECT t.`id-user`, name, guarantee FROM transactions t
JOIN user u ON `t`.`id-user` = `u`.`id-user`
JOIN products p ON `p`.`id-product = `t`.`id-product`
WHERE guarantee = (SELECT MAX(p2.guarantee)
FROM products p2
WHERE `p2`.`id-product` = `p`.`id-product`)
此查询显示所有产品及其保证。
2条答案
按热度按时间apeeds0o1#
我认为最简单的方法是
substring_index()
/group_concat()
获取与最大值/最小值关联的值的方法:您也可以使用您的方法,但相关子查询很棘手:
dw1jzc5e2#
我想它有用。