Classic ASPテストページです。
情報が古いので参考程度に読んだりテストしてみてください。
共有サーバーなので、処理に時間がかかるとタイムアウトやアクセスが集中すると落ちている時がありますがご勘弁を・・・

三流君(TOP) /ASPで遊ぶ /ASP記事一覧を見る

分類: [Form関係] /DB系ADOを使い( [Mdb接続] [CSV接続] [Excel接続]) /[ASPでTextFileを操作] /[VBScript関数ほか]

SQL GROUP BY句 で グループ化 Count関数で集計 ORDER BY句で並べ替え

test039-1.asp

cnt_asp.mdb から訪問されたURLをグループ化して集計、降順に表示


発行する(した)SQL文は
Select URL, Count(URL) As URLCNT From log GROUP BY URL ORDER BY Count(URL) DESC
です
No.URL訪問者
1/cgi-bin/test/test077-2.asp267人
2/cgi-bin/test/test027-2.asp140人
3/cgi-bin/test/test028-2.asp120人
4/cgi-bin/test/test089-1.asp103人
5/cgi-bin/test/test046-3.asp101人
6/cgi-bin/test/test026-1.asp82人
7/cgi-bin/test/test100-2.asp66人
8/cgi-bin/test/test046-1.asp58人
9/cgi-bin/test/test029-2.asp55人
10/cgi-bin/test/test039-1.asp53人
11/cgi-bin/test/test089-2.asp51人
12/cgi-bin/test/test075-2.asp50人
13/cgi-bin/test/test033-2.asp46人
14/cgi-bin/test/test104-2.asp42人
15/cgi-bin/test/test047-2.asp38人
16/cgi-bin/test/test083-1.asp33人
17/cgi-bin/test/test075-3.asp33人
18/cgi-bin/test/test030-1.asp33人
19/cgi-bin/test/test040-1.asp33人
20/cgi-bin/test/test105-2.asp32人
21/cgi-bin/test/test105-1.asp32人
22/cgi-bin/test/test046-2.asp30人
23/cgi-bin/test/test087-1.asp30人
24/cgi-bin/test/test043-1.asp28人
25/cgi-bin/test/test070-1.asp22人
26/cgi-bin/test/test093-5.asp21人
27/cgi-bin/test/test092-2.asp21人
28/cgi-bin/test/test073-2.asp20人
29/cgi-bin/test/test083-3.asp20人
30/cgi-bin/test/test100-1.asp19人
31/cgi-bin/test/test039-2.asp19人
32/cgi-bin/test/test074-1.asp17人
33/cgi-bin/test/test038-2.asp16人
34/cgi-bin/test/test037-1.asp16人
35/cgi-bin/test/test038-1.asp16人
36/cgi-bin/test/test033-1.asp15人
37/cgi-bin/test/test032-1.asp15人
38/cgi-bin/test/test075-1.asp15人
39/cgi-bin/test/test076-1.asp14人
40/cgi-bin/test/test100-4.asp13人
41/cgi-bin/test/test088-2.asp12人
42/cgi-bin/test/test040-2.asp12人
43/cgi-bin/test/test029-1.asp11人
44/cgi-bin/test/test073-1.asp11人
45/cgi-bin/map.asp10人
46/cgi-bin/test/test100-5.asp10人
47/cgi-bin/test/test093-4.asp10人
48/cgi-bin/test/test083-2.asp10人
49/cgi-bin/test/test104-1.asp9人
50/cgi-bin/test/test093-2.asp7人
51/cgi-bin/test/test088-1.asp7人
52/cgi-bin/test/test093-1.asp7人
53/cgi-bin/test/test032-2.asp6人
54/cgi-bin/test/test077-1.asp6人
55/cgi-bin/test/test073-3.asp6人
56/cgi-bin/test/test082-1.asp5人
57/cgi-bin/test/test100-3.asp5人
58/cgi-bin/test/test076-3.asp5人
59/cgi-bin/test/test074-2.asp4人
60/cgi-bin/test/test047-1.asp4人
61/cgi-bin/test/test093-3.asp2人
62/cgi-bin/test/test038-3.asp1人
63/cgi-bin/test/test076-2.asp1人
64/cgi-bin/test/test028-1.asp1人
65/cgi-bin/cnt/cnta.asp1人

終了です。
cnt_asp.mdb 最近訪問した人のデータ30件を表示



GROUP BYを使用したサンプル(ソースの紹介)

詳細解説は[http:/asp/backno/asp039.html]を見てください
下記、/cgi-bin/test/test039-1.aspのソース(中身)です

GROUP BY を 使った ソースコードを紹介する

表示色の説明:ASP VBScriptは <% 〜 %>
キーワードはGROUP BY です。 <%@LANGUAGE=VBScript%> <html> <head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=x-sjis"> <title>SQL GROUP BY句 で グループ化 Count関数で集計 ORDER BY句で並べ替え</title> </head> <body> <h1>SQL GROUP BY句 で グループ化 Count関数で集計 ORDER BY句で並べ替え</h1> test039-1.asp<br> <hr> <b>cnt_asp.mdb から訪問されたURLをグループ化して集計、降順に表示</b><br> <hr> <% 'ADO DB Connection オブジェクトを作成する、英文そのままじゃん Set db=Server.CreateObject("ADODB.Connection") '.Provider?プロバイダー?通信会社?じゃなくって 'データアクセスにはJet.OLEDB.4.0を使うことを設定 db.Provider = "Microsoft.Jet.OLEDB.4.0" '次に、接続DBの位置を渡すので、Server.MapPathで変換して渡す db.ConnectionString = Server.MapPath("cnt_asp.mdb") 'やっとデータベースを開ける db.open 'お約束のレコードセットの作成 テーブル名URLを指定 'GROUP BY句 で グループ化 Count関数で集計 ORDER BY句で並べ替え strSQL = "Select URL, Count(URL) As URLCNT " strSQL = strSQL & "From log " strSQL = strSQL & "GROUP BY URL " strSQL = strSQL & "ORDER BY Count(URL) DESC" 'オマケで画面にデータ表示 Response.Write "<hr>発行する(した)SQL文は<br><B><font color='green'>" Response.Write strSQL & "</font></B><br>です<hr>" Set rs = db.Execute(strSQL) 'データの表示をテーブルで行う Response.Write "<TABLE Border='1'>" '見出しをバカっぽく、そのまま書き込む Response.Write "<TR>" Response.Write "<TD>No.</TD>" Response.Write "<TD>URL</TD>" Response.Write "<TD>訪問者</TD>" Response.Write "</TR>" 'EOFまでループ nCNT = 1 Do While rs.EOF = False '.EOFがFalseの間 Response.Write "<TR>" '内容を表示する Response.Write "<TD>" & nCNT & "</TD>" Response.Write "<TD><A HREF='" & rs.Fields.Item("URL") & "' Target='_blank'>" Response.Write rs.Fields.Item("URL") & "</A></TD>" Response.Write "<TD ALIGN=RIGHT>" & rs.Fields.Item("URLCNT") & "人</TD>" Response.Write "</TR>" & Chr(13) & Chr(10) '次のレコードにポインタを移動する rs.MoveNext 'これを忘れると悲惨なことに、、、 'カウンタを増やす nCNT = nCNT + 1 Loop Response.Write "</TABLE>" 'テーブルは終わりです '開いていたレコードセットを閉じる rs.Close 'データベースも閉じようよ db.Close 'お行儀よくオブジェクトも開放しましょう(通常は自動的に解放されるけど) Set db = Nothing %> <hr> 終了です。<br> <A HREF="test037-1.asp">cnt_asp.mdb 最近訪問した人のデータ30件を表示</A><br> <br> </body> </html>

広告

リンク広告
  1. --[Windows 仮想メモリ ページファイルの移動や設定]
  2. --[ Windows7 OSのフルバックアップ システムイメージバックアップ]
  3. --[Access コンボボックスを使ってみた]

Googleで関連項目を検索する

[キーワード:GROUP BY] と サンプル|解説|Dim|Set で検索
↓で検索して他のページも確認してみてください。

Google

あれ?私のページが検索に載ってない(笑)一度お試しを(私のページに、また戻ってきてね(爆))

[Topへ戻る] −−>[ASP系のTOPへ戻る] −−>[記事一覧を見る]

リンク 三流君 ASP系 の 解説を項目ごとにまとめてみました

まぁ、基本はデータの受け取りかなぁ。
・[Form等を使用したデータのやり取り]・・・ASPと言っても、HTMLの入力フォームからデータを受け取ります。POSTやGETでやりとりを押さえますか。

次は、データの入出力 で ADOを使った(ADOで接続) と SQLの解説を少々
・[ADOでMdbファイルを使う]・・・MDBと接続して、簡単な追加・更新・削除を行った。
・[ADOでExcelと接続してみた]・・・.xlsと接続してSQLを使ってみた。
・[ADOでCSVと接続してみた]・・・.CSV テキストを読み出した。※更新・削除はできません

DBが使えるので、あまり使用しないけど、普通のテキストファイル処理
・[テキストファイル処理]・・・ファイルを開いて、書き込む。1行読み込みなどを軽く



VBScriptでFormat関数が無いなど、微妙にVBAと違うけど
[VBScript関数関係の説明]・・・少し、処理を書いてみた。
[その他処理サンプル]・・・あまり良いサンプル作れなかったけど。。。
何かの参考となれば幸いです。

その他:blogや広告↓
[日記的なblog]← あまり更新してないけど・・・
[永遠の下書き日記?]← 恥ずかしいのであまり載せてないけど・・・
[ひとりで掲示板?] ←一人で?掲示板?ぉぃぉぃ


[Topへ戻る] −−>[ASP系のTOPへ戻る] −−>[記事一覧を見る]

現在時刻は、2017/07/24 11:47:05です。