我在表中有以下数据。我想返回的是最新添加的它们,并且我只想返回一个示例音轨(可以有多个具有相同名称的音轨),但是,如果音轨具有伴奏声(BVox),则必须首先返回。
示例数据:
Track_id Artist Title BVox
9 ADELE SKYFALL NO
8 ADELE SKYFALL YES
7 AVICII WAKE ME UP YES
6 AVICII WAKE ME UP NO
5 OLLY MURS DEAR DARLIN' NO
我想退货:
Track_id Artist Title BVox
8 ADELE SKYFALL YES
7 AVICII WAKE ME UP YES
5 OLLY MURS DEAR DARLIN' NO
因此,我需要按Artist&Title将它们分组,这很容易,但是,该分组需要先由BVox降序排列。
我不能简单地搜索BVox ='Yes'的所有内容,因为Olly Murs曲目没有BVox,但我希望它显示为最新版本。
我正在使用以下内容,但我认为它们先进行分组然后进行排序,这不好,因为它显示了ADELE曲目,但带有BVox ='No'
SELECT
*,
COUNT(*) How_many_tot
FROM
tracks
GROUP BY
artist, Title
ORDER BY
track_id desc limit 50
这可能吗?
最佳答案
SELECT * FROM
(SELECT * FROM Table1
ORDER BY
field(BVOX,'YES') desc, track_id desc) abc
GROUP BY artist, Title
SAMPLE FIDDLE