我需要从下表中选择“捆绑”条目,但仅当捆绑包存在其他明智的选择轨道1从每个版本。每个版本都有一个独特的“cat_no”,这就是为什么我需要使用GROUP BY。MYSQL GROUP BY和ORDER BY与ABS
SELECT * FROM cds
WHERE genre='rock'
GROUP BY cat_no
ORDER BY ABS(track) DESC
LIMIT 0,3
这是我所尝试过的,但有时在该版本的软件包中有时会获得第1个轨道。
表
genre cat_no track
rock 001 1
rock 001 2
rock 001 bundle
rock 002 1
rock 002 2
rock 002 bundle
rock 003 1
rock 003 2
谢谢你的工作,但你能解释't'是什么,我假设track ='bundle',0,1是一个优先顺序? – user1209203 2012-03-13 14:59:31
1.'t'是一个子查询别名(MySQL需要它); 2.是的,IF(...)用于将“捆绑”放在其他卡车号码之前。 – Devart 2012-03-13 15:25:43
谢谢我会阅读sub-queires – user1209203 2012-03-13 16:14:31