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

SQL文 HAVING句でGroup化されたレコードに条件設定する

test043-1.asp

cnt_asp.mdb から訪問されたURLをグループ化して集計、降順に表示
HAVING句で訪問者50人以上を表示
HAVING Count(URL) >= 50 と設定してみました


発行する(した)SQL文は
Select URL, Count(URL) As URLCNT From log GROUP BY URL HAVING Count(URL) >= 50 ORDER BY Count(URL) DESC
です
No.URL訪問者
1/cgi-bin/test/test077-2.asp253人
2/cgi-bin/test/test046-3.asp96人
3/cgi-bin/test/test028-2.asp68人
4/cgi-bin/test/test089-1.asp65人
5/cgi-bin/test/test046-1.asp55人

終了です。
URLでグループ化した集計値を全て表示
cnt_asp.mdb 最近訪問した人のデータ30件を表示


コーヒーブレイク たまには寄り道、休憩も(↓広告です):
広告:[Blogで商品紹介] ← 足跡から人気を判断?
[本日発売の商品] ← 発売日が当日の商品を紹介、、、するが効果が無いので → [来週7日後] ← を作成して、検索の席取りで予約を狙ってます(テスト・試行錯誤中)

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

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

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

表示色の説明:ASP VBScriptは <% 〜 %>
キーワードはHAVING です。 <%@LANGUAGE=VBScript%> <html> <head> <title>SQL文 HAVING句でGroup化されたレコードに条件設定する</title> </head> <body> <h1>SQL文 HAVING句でGroup化されたレコードに条件設定する</h1> test043-1.asp<br> <hr> cnt_asp.mdb から訪問されたURLをグループ化して集計、降順に表示<br> <b>HAVING句で訪問者50人以上を表示</b><br> <font color="red"><strong>HAVING Count(URL) >= 50</strong> と設定してみました</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_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 & "HAVING Count(URL) >= 50 " 'グループ化集計50人以上 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="test039-1.asp">URLでグループ化した集計値を全て表示</A><br> <A HREF="test037-1.asp">cnt_asp.mdb 最近訪問した人のデータ30件を表示</A><br> <br> </body> </html>

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

科学や技術の雑誌です。
  1. 農業と経済 2008年 06月号
  2. 省エネルギー 2008年 05月号
  3. 設備と管理 2008年 06月号
  4. 電気計算 2008年 06月号
  5. 電気店 2008年 06月号
  6. 電気評論 2008年 05月号
  7. 電気と工事 2008年 06月号
  8. 電設技術 2008年 05月号
  9. 固体物理 2008年 04月号

人気の書籍を紹介します

  1. [4010213000]- とってもわかりやすい中学国語の教室
  2. [4862380697]- ビューティ・ジャンキー-美と若さを求めて暴走する整形中毒者たち
  3. [477451070X]- 虫歯はクスリで治る!―最新歯科治療3Mix-MP法
  4. [4022503092]- ロストジェネレーション―さまよう2000万人
  5. [4022732067]- カラシニコフ自伝 世界一有名な銃を創った男 (朝日新書 106)
  6. [4569698832]- IT投資は3年で回収できる

Googleで関連項目を検索する

LANGUAGE=VBScript + [キーワード:HAVING] 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/18 6:43:17です。
[Topへ戻る] −−>[ASP系へ戻る] −−>[バックナンバーを見る]