dポイントプレゼントキャンペーン実施中!

初めてASP+VBScript+SQLServerで開発をしています。
VB等の知識は皆無です。

【やりたいこと】
MEMBERというテーブルから特定レコード(M_MSGIDが一致したもの)を抜き出し、とある項目(M_SEID)でグルーピングした行数を求めたい。

【例・MEMBERがこんなだったら】
M_MSGID-M_SEID
1-5
1-5
1-6
1-8
1-9
1-9
2-10

対象とするM_MSGIDを1とした場合、M_SEIDは5,6,8,9の4種類なので、カウント結果4を求めたい。

【ソース】
SET SEID_rec=Server.CreateObject("ADODB.Recordset")
SEID_rec.Open "SELECT cnt=count(*) from MEMBER where M_MSGID=" & MSGID & "group by M_SEID",DSN=xxx;UID=sa
SECNT = SEID_rec("cnt")
SEID_rec.Close

【問題点】
何やらカウントはしているようなのですが、条件によって正しかったり間違っていたりします。
周囲に経験者がおらず、WEBを探してもわかりませんでした。何卒よろしくお願いいたします。

A 回答 (1件)

クエリ部分をこのようにしてみればどうでしょう?



"SELECT cnt = COUNT(DISTINCT M_SEID) FROM MEMBER WHERE M_MSGID = " & MSGID
    • good
    • 0
この回答へのお礼

出来ました!
なんだか、「group by」ってのを勘違いしていた
みたいです。
「Distinct」というので重複したM_SEIDを取り除くんですか。

ありがとうございました。

お礼日時:2004/01/16 19:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!