Mysql
如何排列在 MYSQL 查詢中選擇的行?
我正在從表“TABLE_A”中獲取數據,它的主鍵為“PK_ONE”(它是無符號的 INT)。
我正在使用 PK_ONE 上的 where 子句從“TABLE_A”中獲取數據;例如:SELECT PK_ONE from TABLE_A where PK_ONE in (2,88,3999,4,282,33399,1,394);
當我在 PHP 游標中使用上述數據集時;我想確保獲取的數據以 WHERE 子句中“PK_ONE”的值序列出現。
你能給我一些方向來實現同樣的目標嗎?
$$ Currently rows are coming in asending order $$
您正在尋找
ORDER BY FIELD()
,它看起來像這樣:SELECT PK_ONE from TABLE_A where PK_ONE in (2,88,3999,4,282,33399,1,394) ORDER BY FIELD (PK_ONE, 2,88,3999,4,282,33399,1,394)
FIELD()
是一個函式,它返回一個元素(第一個參數)在值列表(第二個、第三個、…參數)中的位置。因此,您需要為此查詢兩次生成/模板化值列表。