我想在单个查询中获取数据和总数:
SELECT id, order_name, order_ownurl, order_category, order_id
FROM `order_details`
WHERE ordered_name='nikon d3200'
ORDER BY ordered_price asc
和
SELECT count(distinct order_id)
FROM `order_details`
WHERE ordered_name='nikon d3200'
答案 0 :(得分:1)
为此,您可以使用相关的子查询获取COUNT
,如下所示:
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;
答案 1 :(得分:1)
这是一个更好的方法,为什么我们需要子查询?
这是解决方案,如果我错过了什么请告诉我!!
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
说明:当我们从单个表中选择数据时,我们不需要子查询。 子查询看起来很糟糕,如果没有其他工作,我们应该使用。
如果你遇到问题,请告诉我。
干杯!!!!