其實我有一輛車表作爲CAR
它有3個字段:特定的ID在第一
carId
。carName
。carPrice
。
車表有15條記錄,,我只是想在任何纔能有在記錄第一其餘5號記錄作爲DESC
,ASC
。
我的主要目的是讓所有其他的記錄一開始就是DESC
或ASC
!
我想我很清楚。
其實我有一輛車表作爲CAR
它有3個字段:特定的ID在第一
carId
。carName
。carPrice
。車表有15條記錄,,我只是想在任何纔能有在記錄第一其餘5號記錄作爲DESC
,ASC
。
我的主要目的是讓所有其他的記錄一開始就是DESC
或ASC
!
我想我很清楚。
可以使用CASE
表達在ORDER BY
條款是這樣的:
SELECT carId ,carName,carPrice
FROM Car
ORDER BY CASE WHEN carId = @th5thid THEN 0 ELSE 1 END, Carid
雖然@Mahmoud答案完美的作品,在order by
一個case
可以使人們難以對引擎優化查詢。你能避免這樣的:
select carid, carname, carprice
from car
order by carid != 5, carid
MySQL中的比較將返回0或1,因此沒有必要把它包在case
聲明:
mysql> select 1 = 0;
+-------+
| 1 = 0 |
+-------+
| 0 |
+-------+
mysql> select 1 = 1;
+-------+
| 1 = 1 |
+-------+
| 1 |
+-------+
是的,它似乎也okey –
感謝的人!作品魅力! –
@SamArulRaj,隨時歡迎您:) –