Mysql 是否将这两个查询更改为单个查询?
我希望在单个查询中获得数据和总计:Mysql 是否将这两个查询更改为单个查询?,mysql,Mysql,我希望在单个查询中获得数据和总计: SELECT id, order_name, order_ownurl, order_category, order_id FROM `order_details` WHERE ordered_name='nikon d3200' ORDER BY ordered_price asc 及 为此,可以使用如下相关子查询获取计数: SELECT o1.id, o1.order_name, o1.order_ownurl, o1.order
SELECT id, order_name, order_ownurl, order_category, order_id
FROM `order_details`
WHERE ordered_name='nikon d3200'
ORDER BY ordered_price asc
及
为此,可以使用如下相关子查询获取
计数
:
SELECT
o1.id,
o1.order_name,
o1.order_ownurl,
o1.order_category,
o1.order_id,
(SELECT count(distinct o2.order_id)
FROM `order_details` o2
WHERE o2.ordered_name = o1.ordered_name) AS OrderCount
FROM `order_details` o1
WHERE o1.ordered_name = 'nikon d3200'
ORDER BY o1.ordered_price asc;
这是一种更好的方法,为什么我们需要子查询 这是解决方案,如果我遗漏了什么,请告诉我
SELECT id, order_name, order_ownurl, order_category, order_id,count(distinct order_id)
FROM `order_details`
WHERE ordered_name='nikon d3200'
ORDER BY ordered_price asc
说明:当我们从单个表中选择数据时,我们不需要子查询。
子查询看起来很糟糕,如果没有其他功能,我们应该使用它
如果你遇到什么问题,请告诉我
干杯 一个是原始数据,另一个是聚合。你能举例说明你的数据以及你想如何显示结果吗?我需要在单个结果中显示行和聚合。这不起作用吗???选择id、订单名称、订单所有者URL、订单类别、订单id,(从
订单详细信息中选择计数(不同的订单id),从产品详细信息中选择计数(不同的订单id),从按订单价格订购asc@Malai对不起,没有看到这个,我更新了我的答案。请参阅我的编辑。
SELECT id, order_name, order_ownurl, order_category, order_id,count(distinct order_id)
FROM `order_details`
WHERE ordered_name='nikon d3200'
ORDER BY ordered_price asc