電子書籍の厳選無料作品が豊富!

JSPでmysqlDriverを使用し、count文を使用する時なのですが。
grntは1か0が入っていて、複数行あります。そのgrntが1の行と0の行の数をそれぞれ数えたいのです。
SELECT grnt,count(grnt) from user group by grnt
と書いてmysql上で実行すると、grntとその個数が得られるのですが、
JSP上で表示する時にgrntの1と0は表示されるのですがcountが表示されません。<c:out value="${row.count}" />という書き方では駄目なのでしょうか?。<c:out value="${row.count(grnt)}" />と書くと、
デフォルトの名前空間が指定されていない時には、関数 count はプリフィクス付きで使用しなければいけません
とエラーメッセージが表示されるのですが、どうすればいいのかよくわかりません。
わかる方教えてください。宜しく御願いします。



<driver="org.gjt.mm.mysql.Driver" user="" password="" var="ds" />
<sql:query var="rs" dataSource="${ds}">
SELECT grnt,count(grnt) from user group by grnt
</sql:query>
<table border="1">
<tr><th>grnt</th><th>count</th></tr>
<c:forEach var="row" items="${rs.rows}" varStatus="staus">
<tr>
<td><c:out value="${row.grnt}" /></td>
<td><c:out value="${row.count}" /></td>
<tr>
</c:forEach>
</table>

A 回答 (1件)

count(grnt)に名前を付けてあげればいいのでは?


> SELECT grnt,count(grnt) as cnt from user group by grnt
> <td><c:out value="${row.cnt}" /></td>
    • good
    • 0
この回答へのお礼

出来ました。ありがとうございます。
as で名前をつけれるのですね。
助かりました。

お礼日時:2006/11/12 18:00

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