所以,我面臨的一個錯誤,而試圖使用ORDER BY 2列上SQLite的次序混合ASC和隨機():瞭如何通過
... ORDER BY VAL,隨機();
錯誤是:「第二ORDER BY期限不匹配的結果集的任何列」
我嘗試不同的方式來ASC分揀第一列和隨機排序的第二列,沒有運氣相結合。
更新,以提供更多信息
CREATE TABLE tabela
( id
INTEGER, val
TEXT, PRIMARY KEY(id
) );
INSERT INTO tabela (val) VALUES ('paid');
INSERT INTO tabela (val) VALUES ('paid');
INSERT INTO tabela (val) VALUES ('paid');
INSERT INTO tabela (val) VALUES ('standard');
INSERT INTO tabela (val) VALUES ('standard');
INSERT INTO tabela (val) VALUES ('standard');
INSERT INTO tabela (val) VALUES ('standard');
INSERT INTO tabela (val) VALUES ('standard');
預期樣品結果:
val id
--- ---
paid 3
paid 1
paid 2
standard 5
standard 8
standard 4
standard 6
standard 7
其中的 'id' 1,2,3將 '付費' 'VAL' 和 '編號' 4內被隨機地排序... 8會隨機「標準」「VAL」
'爲了通過,B'並不意味着按b排列一列和一列。您將始終對完整的行進行排序。第一個排序鍵是a,對於相同的a,第二個鍵b被評估。請提供一個MCVE http://stackoverflow.com/help/mcve對於包含轉儲的SQLite,即包含至少一個「CREATE TABLE」和幾個「INSERT INTO」行的文本,以便我們可以重新創建您的示例結構並樣本輸入。給出一個代碼示例,它通過「random()」以外的不同鍵對兩列進行排序(即證明我錯了)。 – Yunnosch
嗨@Yunnosch,謝謝你的關注。我很抱歉不是「完整的」。我發佈了一個問題更新,希望我的MCV現在可以。 –
是「付費」和「標準」固定字符串嗎?我可以在查詢中對它們進行硬編碼嗎? – Yunnosch