teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2021/10/23 10:22

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -2,4 +2,13 @@
2
2
  SELECT ID, Left([ID],3) AS [GROUP]
3
3
  , DCount("ID","テーブル1", "Left([ID],3)='" & Left([ID],3) & "' And " & "Mid([ID],4)<='" & Mid([ID],4) & "'") AS 順位
4
4
  FROM テーブル1;
5
+ ```
6
+ Dcount()は低速なので、その場合サブクエリーにすると概ね改善されます。
7
+ ```SQL
8
+ SELECT ID, Left([ID],3) AS [GROUP]
9
+ , (select Count(*) from テーブル1
10
+ where Left([ID],3) = Left([t1].[ID],3)
11
+ And Mid([ID],4)<= Mid([t1].[ID],4)
12
+ ) AS 順位
13
+ FROM テーブル1 as t1;
5
14
  ```