我正在使用以下语句查询我的数据库并返回项目a的最常见颜色样式。获得该数据后,我想选择最常用的数据。
select color, style, size
from orders
where item = 'item a'
group by color, style
order by count(*) desc
limit 1
如果按颜色,样式,大小分组,则不会计算颜色数量,样式正确。我怎样才能从db获得最后一条信息?
答案 0 :(得分:0)
使用第二个查询来获得最常见的尺寸
答案 1 :(得分:0)
说实话,很难看出一个查询如何比三个查询更有效。但是如果必须,您可以将它们合并到一个union
:
select 'Common Color' as Id
, (select color from orders where item = 'item a' group by color
order by count(*) desc limit 1) as Value
union all
select 'Common Style'
, (select style from orders where item = 'item a' group by style
order by count(*) desc limit 1)
union all
select 'Common Size'
, (select size from orders where item = 'item a' group by size
order by count(*) desc limit 1)
子查询可以消除limit
适用于整个联合或仅仅是一个部分的任何歧义。