回答編集履歴
2
補足点の反映
test
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
まずカードテーブルに、乱数用の実数型フィールド 乱数 を追加します。
|
2
|
-
'UR','N'などが
|
2
|
+
'UR','N'などがレアリティ フィールドに記録されているとすれば、確かめていませんが、連続して各グループごとの確率分のデータを取得して、その全体のテーブルで10件とればできるでしょう。
|
3
3
|
各グループが、抽出件数より多いのかどうかという点の確認が必要です。
|
4
4
|
|
5
5
|
```SQL
|
6
6
|
update card set 乱数 = Rand();
|
7
7
|
|
8
8
|
select * from
|
9
|
-
( select * from card where
|
9
|
+
( select * from card where レアリティ = 'UR' order by 乱数 limit 5
|
10
|
-
UNION select * from card where
|
10
|
+
UNION select * from card where レアリティ = 'SR' order by 乱数 limit 10
|
11
|
-
UNION select * from card where
|
11
|
+
UNION select * from card where レアリティ = 'R' order by 乱数 limit 40
|
12
|
-
UNION select * from card where
|
12
|
+
UNION select * from card where レアリティ = 'N' order by 乱数 limit 45)
|
13
13
|
order by Rand() limit 10;
|
14
14
|
```
|
1
補足点の反映
test
CHANGED
@@ -1,11 +1,14 @@
|
|
1
|
+
まずカードテーブルに、乱数用の実数型フィールド 乱数 を追加します。
|
1
|
-
確かめていませんが、連続して各グループごとの確立分のデータを取得して、その全体のテーブルで10件とればできるでしょう。
|
2
|
+
'UR','N'などがカード名フィールドに記録されているとすれば、確かめていませんが、連続して各グループごとの確立分のデータを取得して、その全体のテーブルで10件とればできるでしょう。
|
2
3
|
各グループが、抽出件数より多いのかどうかという点の確認が必要です。
|
3
4
|
|
4
5
|
```SQL
|
6
|
+
update card set 乱数 = Rand();
|
7
|
+
|
5
8
|
select * from
|
6
|
-
( select * from card where
|
9
|
+
( select * from card where カード名 = 'UR' order by 乱数 limit 5
|
7
|
-
UNION select * from card where
|
10
|
+
UNION select * from card where カード名 = 'SR' order by 乱数 limit 10
|
8
|
-
UNION select * from card where
|
11
|
+
UNION select * from card where カード名 = 'R' order by 乱数 limit 40
|
9
|
-
UNION select * from card where
|
12
|
+
UNION select * from card where カード名 = 'N' order by 乱数 limit 45)
|
10
13
|
order by Rand() limit 10;
|
11
14
|
```
|