按SQLIN()子句中值的順序排序我想知道是否有其他(可能是更好的方法)按照IN()子句中的值的順序進(jìn)行排序。問題是,我有兩個(gè)查詢,一個(gè)查詢獲取所有ID,另一個(gè)查詢檢索所有信息。第一個(gè)創(chuàng)建ID的順序,我希望第二個(gè)ID按順序排序。ID以正確的順序放在IN()子句中。所以它應(yīng)該是(非常簡(jiǎn)化的):SELECT id FROM table1 WHERE ... ORDER BY display_order, nameSELECT name, description, ... WHERE id IN ([id's from first])問題是,第二個(gè)查詢沒有按照ID被放入IN()子句的順序返回結(jié)果。我找到的一個(gè)解決方案是將所有ID放入一個(gè)具有自動(dòng)遞增字段的臨時(shí)表中,然后將該字段加入到第二個(gè)查詢中。還有更好的選擇嗎?注:由于第一個(gè)查詢是“由用戶”運(yùn)行的,而第二個(gè)查詢是在后臺(tái)進(jìn)程中運(yùn)行的,因此無法使用子查詢將2合并為1個(gè)查詢。我正在使用MySQL,但我認(rèn)為讓它注意到其他DB也有哪些選項(xiàng)可能是有用的。
按SQLIN()子句中值的順序排序
互換的青春
2019-06-23 17:07:11