Java 在条件中选择“按订单查询”
我想从此SQL查询创建一个条件查询:Java 在条件中选择“按订单查询”,java,hibernate,criteria,Java,Hibernate,Criteria,我想从此SQL查询创建一个条件查询: SELECT * FROM `Product` p ORDER BY (SELECT COUNT(*) FROM `Sale` WHERE `product_id` = p.id) DESC 我找不到使用子查询的方法…尝试隐式联接: select * from ( select p.*, (select count(*) from sale s where s.product_id = p.id) as cn
SELECT * FROM `Product` p
ORDER BY (SELECT COUNT(*) FROM `Sale` WHERE `product_id` = p.id) DESC
我找不到使用子查询的方法…尝试隐式联接:
select *
from (
select
p.*,
(select count(*) from sale s where s.product_id = p.id) as cnt
from product p
)a
order by cnt desc
Order By
仅适用于select
部分中的列
因此,基本上类似这样的方法会起作用:
SELECT Group, COUNT(*) as total
FROM table
GROUP BY Group
ORDER BY total DESC
因此,对于您的情况,您可以执行以下操作:
SELECT *, (SELECT COUNT(*) FROM `Sale` WHERE `product_id` = p.id) as total FROM `Product` p
ORDER BY total DESC
注意:这完全未经测试。谢谢,您知道如何使用此SQL查询创建条件查询吗?请查看这些文档是否有帮助: