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

SQL文 Select TOP 20 でGroup化集計値のTOP20を作成

test083-1.asp

cnt_etc.mdb から訪問されたURLをグループ化して集計、降順に表示
TOP 20で訪問者上位20件を表示
Select TOP 20 URL, Count(URL) As URLCNT 〜
と設定してみました



発行する(した)SQL文は
Select TOP 20 URL, Count(URL) As URLCNT From log GROUP BY URL ORDER BY Count(URL) DESC
です
No.URL訪問者件数
1/etc/old/20080311/flower_04.html13人
2/etc/old/20080408/sports_04.html9人
3/etc/old/20080422/flower_04.html7人
4/etc/old/20080408/fashion_01.html7人
5/etc/old/20080408/sports_03.html6人
6/etc/old/20080408/golf_06.html6人
7/etc/old/20080408/fashion_13.html6人
8/etc/old/20080408/auto_06.html6人
9/etc/old/20080325/living_02.html6人
10/etc/old/2003year/fashion_05.html6人
11/etc/old/20080325/auto_02.html6人
12/etc/old/20080325/flower_02.html6人
13/etc/old/20080325/HighPrice_11.html5人
14/etc/old/20080408/golf_03.html5人
15/etc/old/20080408/flower_03.html5人
16/etc/old/20080422/sports_06.html5人
17/etc/old/20080408/auto_04.html5人
18/etc/old/2003year/sports_03.html5人
19/etc/old/2003year/auto_04.html5人
20/etc/old/20080408/golf_04.html5人
21/etc/old/20080408/Mens_12.html5人
22/etc/old/20070522/sports_03.html5人
23/etc/old/20080325/HighPrice_08.html5人
24/etc/old/20080325/HighPrice_07.html5人
25/etc/old/20080325/golf_06.html5人
26/etc/old/20080422/pc_08.html5人
27/etc/old/20080311/Jewelry_07.html5人
28/etc/old/20080325/flower_04.html5人
29/etc/old/20080408/Mens_05.html5人

終了です。


コーヒーブレイク たまには寄り道、休憩も(↓広告です):
広告:[Blogで商品紹介] ← 足跡から人気を判断?
[本日発売の商品] ← 発売日が当日の商品を紹介、、、するが効果が無いので → [先週発売の商品] ← を作成して、先走らないで、少し落ち着いてみます(笑)

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

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

Select TOP を 使った ソースコードを紹介する

表示色の説明:ASP VBScriptは <% 〜 %>
キーワードはSelect TOP です。 <%@LANGUAGE=VBScript%> <html> <head> <title>SQL文 Select TOP 20 でGroup化集計値のTOP20を作成</title> </head> <body> <h1>SQL文 Select TOP 20 でGroup化集計値のTOP20を作成</h1> test083-1.asp<br> <hr> cnt_etc.mdb から訪問されたURLをグループ化して集計、降順に表示<br> <strong>TOP 20</strong>で訪問者上位20件を表示</b><br> <font color="red"><strong>Select TOP 20 URL, Count(URL) As URLCNT 〜</strong> <br>と設定してみました</font><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_etc.mdb") 'やっとデータベースを開ける db.open 'お約束のレコードセットの作成 'GROUP BY句 で グループ化 Count関数で集計 ORDER BY句で並べ替え 'TOP20を指定 strSQL = "Select TOP 20 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='_top'>" 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> <br> </body> </html>

最近発売の雑誌を紹介する

不健康なプログラマーさん達へ(オイオイ)こんな雑誌もあります。
  1. ESSE (エッセ) 2008年 06月号
  2. PLUS1 LIVING (プラスワン リビング) 2008年 06月号
  3. ELLE DECO (エル・デコ) 2008年 06月号
  4. ひとり暮らしをとことん楽しむ ! 2008年 06月号
  5. saita (サイタ) 2008年 06月号
  6. セラピスト 2008年 06月号
  7. Bagel (ベーグル) 2008年 06月号
  8. LEE (リー) 2008年 06月号
  9. 暮らしが好きになる本 2008年 06月号

データベースの書籍を紹介します

  1. [4839916578]- MySQL入門以前
  2. [4883374912]- 書き込み式SQLのドリル―ドンドン身に付く、スラスラ書ける
  3. [4798111856]- 絵で見てわかるOracleの仕組み (DB Magazine SELECTION)
  4. [4881666274]- FileMaker Pro 関数・スクリプト [サンプル活用辞典] Ver.9対応
  5. [4844319043]- できるAccess 2003 & 2002 Windows XP対応 (できるシリーズ)
  6. [4274066312]- マンガでわかるデータベース

Googleで関連項目を検索する

LANGUAGE=VBScript + [キーワード:Select TOP] Sub|Function プログラム|プログラミング
↓で検索するとプログラムの例 Sub/Function でまとまったHP

Google

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

ASPでDBはMDBを使用して、SQL文を発行するサンプル

テスト実行とサンプルソース

ASP系、ADO使用、MDB接続、SQL発行、メルマガ解説リンク

[No.26 MDBファイルにアクセスしてみたADODB.Connection]
[No.27 SQL INSERT INTO文でデータの追加]
[No.28 SQL ORDER BYでデータの並べ替え]
[No.30 SQL SELECT文WHERE句を使って条件検索]
[No.32 SQL DELETE文でデータを削除してみた]

[No.33 SQL UPDATE文でデータを更新する]
[No.38 SQL GROUP BY句 で グループ化する]
[No.39 SQL GROUP BY句 で グループ化 集計結果を並べ替えする]
[No.40 MDBへのSQL文 Format関数使用]
[No.43 SQL文 HAVING句でGroup化されたレコードに条件設定する]

[No.44 MDBを使ったアンケート集計を作る]
[No.46 SQL文 SELECT WHERE句でIN演算子を使用して複数条件を選択する]
[No.47 いろいろな削除処理で遊んでみた(笑)]
[No.70 SQL Select DISTINCT キーワードで重複結果の出力をハジク]
[No.73 テーブルをつなげて商品名を取得する方法]

[No.74 演算フィールドを作成する]
[No.75 SQL UNION演算子 で 表をつなげたレコードセットの作成]
[No.76 小計・合計の表示、SQLで小細工の嵐(笑)]
[No.77 SQL AS演算子で別名管理]
[No.82 ページ単位の表示にチャレンジしてみた]

[No.83 Select TOP 20 と Select Top n PERCENT で遊ぶ]
[No.87 ADO SQL Like演算子で部分検索する]
[No.88 SQL HAVING句でSUMした値をチェックする]
[No.89 SQL 集計関数MAXと副問い合わせ(サブクエリー)]

三流解説とリンクページを紹介

ASP系の解説を項目ごとにまとめてみました

[ASP Form等を使用したデータのやり取り]
[ASP その他処理サンプル]
[ASP テキストファイル処理]
[ASP VBScript関数関係の説明]
[ASP ADOでMdbファイルを使う]
[ASP ADOでExcelと接続してみた]

その他:blogや広告↓
[日記的なblog]← あまり更新してないけど・・・
[三流なプログラムコード]← 恥ずかしいのであまり載せてないけど・・・
[通販商品の足跡を紹介] ←通販商品などを紹介してます


現在時刻は、2008/05/12 17:00:05です。
[Topへ戻る] −−>[ASP系へ戻る] −−>[バックナンバーを見る]