VISITS
現在のテーブルを考えてみましょう:
ID ID_PERSON DATE
1 1 10/12/2012
2 5 10/12/2012
3 11 10/12/2012
4 55 10/13/2012
5 12 10/13/2012
6 6 10/14/2012
7 10 10/15/2012
8 13 10/15/2012
9 11 10/15/2012
10 5 10/16/2012
私が必要とするのは、1 日あたりの訪問のカスタム順序を作成することです。
日付10/12/2012の場合は1、2、3、日付10/13/2012の場合は1,2など。
最初はランダムにすることができますが、ユーザーは注文を作成することができますが、これは現時点では問題ではありません。
このテーブルにランダムな順序の列を追加する SQL コマンドは何ですか?
考えられる結果:
ID ID_PERSON DATE ORDER_IN_DATE
1 1 10/12/2012 2
2 5 10/12/2012 3
3 11 10/12/2012 1
4 55 10/13/2012 1
5 12 10/13/2012 1
6 6 10/14/2012 1
7 10 10/15/2012 1
8 13 10/15/2012 3
9 11 10/15/2012 2
10 5 10/16/2012 1
順序付けルール: 最初にORDER_BY_DATE
列を作成するときはランダムです。(もちろん、自動増加値もランダムとしてカウントされます)。
解決策:
列VISIT
を追加するために表を更新する。b.次のクエリを実行します。ORDER_IN_DATE
UPDATE VISIT
SET ORDER_IN_DATE = (SELECT TEMP_ORDER
FROM (SELECT V.ID AS TEMP_ID, 1 + ROWID % (SELECT COUNT(*)
FROM VISIT
WHERE DATE = V.DATE
) AS TEMP_ORDER
FROM VISIT V
ORDER BY DATE, RANDOM())
WHERE ID = TEMP_ID);