2

次の構文を見たばかりselect * from table order by column = "b" desc です。値が「b」の行が最初に来ると思いますが、よくわかりません。クエリの意味と、この場合の並べ替えの仕組み。

私はそれについてグーグルで検索しましたが...成功しませんでした。

4

1 に答える 1

3

order bySQLでは、既存の列の値で並べ替えることによって制限されることはありません。句内で複雑な式を指定できます。このクエリは、ブール式の値で並べ替えられます。式は、、column = 'b'およびfalse他のすべての行の行に対してtrueになります。その結果、order by句が降順を指定し、SQLではtrue1として表され、false0であるため、column='b'の行が最初に表示されます。

于 2012-12-20T20:05:06.153 に答える