0
下面的查詢工作正常的Android4.3.1但與2.3.7。後者的結果由nameA
而不是MAX(unix_time)
定購。看起來,ORDER BY
聲明完全被忽略。我假設有一箇舊的SQLite版本附帶2.3.7,這沒有得到我的查詢權限。有另一種獲得預期結果的方法嗎?SQLite的查詢不能與不同的Android版本工作
String mQuery = "SELECT DISTINCT nameA FROM (
SELECT nameA, MAX(unix_time) FROM table GROUP BY nameA
UNION
SELECT nameB, MAX(unix_time) FROM table GROUP BY nameB
ORDER BY MAX(unix_time) DESC
) WHERE nameA <> ''";
編輯:改變基於從Notulysses回答我的查詢,現在工作完全正常。
String mQuery = "SELECT nameA FROM (
SELECT nameA, MAX(unix_time) AS time FROM table WHERE nameA <> '' GROUP BY nameA
UNION
SELECT nameB, MAX(unix_time) AS time FROM table WHERE nameB <> '' GROUP BY nameB
) ORDER BY time DESC";
啊,我之前讀過它,我不需要與UNION DISTINCT。不知道爲什麼我保留它。刪除DISTINCT後,它在兩個版本上都能正常工作。非常感謝你。 –