我刚刚看到以下语法:select * from table order by column = "b" desc
我想那些值为“b”的行将首先出现,但我不确定。
在这种情况下,查询意味着什么以及排序如何工作。
我在google上搜索过它,但是......没有成功。
答案 0 :(得分:3)
在SQL中,您不受对现有列的值进行排序的限制:您可以在order by
子句中指定复杂表达式。此查询按布尔表达式的值排序:对于column = 'b'
和所有其他行中的false
的行,表达式将为true。因此,列='b'的行将首先出现,因为order by
子句指定降序,而在SQL中,true
表示为1,false
为0。