Mysql SQL:如何按属性降序排列,但第二个字符必须是升序

Mysql SQL:如何按属性降序排列,但第二个字符必须是升序,mysql,heidisql,Mysql,Heidisql,如何在MySQL中生成此输出 首先根据相册格式按降序排列相册,然后按升序排列曲目 我可以用这个命令输出: SELECT album_singer, album_name, album_format_name, album_tracks FROM album, album_format WHERE album.Album_Type_ID = album_format.Album_Format_ID ORDER BY album_format_name DESC, album_tracks ASC

如何在MySQL中生成此输出

首先根据相册格式按降序排列相册,然后按升序排列曲目

我可以用这个命令输出:

SELECT album_singer, album_name, album_format_name, album_tracks
FROM album, album_format
WHERE album.Album_Type_ID = album_format.Album_Format_ID
ORDER BY album_format_name DESC, album_tracks ASC
我能产生的输出:

Vinyl
Vinyl
Digital
Compact Disc
Compact Disc
Compact Disc
Compact Disc
Compact Disc
Cassette
Cassette
我需要的输出:

Vinyl
Vinyl
Digital
Cassette
Cassette
Compact Disc
Compact Disc
Compact Disc
Compact Disc
Compact Disc
MySQL对于自定义排序非常有用,就像您预期的输出所需要的那样。 此外,正如Dale K在评论中提到的,隐式联接(在
from
子句中有多个项)是一种过时的做法,您可能应该使用显式
join
子句:

选择唱片集歌手、唱片集名称、唱片集格式名称、唱片集曲目
从相册
在album.album\u Type\u ID=album\u format.album\u format\u ID上加入album\u格式
按字段排序(相册格式名称、“乙烯基”、“数字”、“盒式磁带”、“光盘”),
唱片公司

这是一个还是另一个?该问题目前已标记为两个?感谢您帮助我编辑外观。对不起,这是我第一次发布这个问题。我建议使用显式连接而不是隐式连接-这是公认的最佳实践,更容易理解。注意,谢谢。顺便说一句,这是mySQL。我从我的讲师那里学到了编写命令的方法。谢谢你告诉我它已经过时了。真的非常感谢。