【问题标题】:I want to put the bulletin board list number in order我要按顺序排列公告牌列表编号
【发布时间】:2021-08-09 13:39:05
【问题描述】:

你好

我想把数字在公告板列表中按顺序排列。

如您所见,回复中不包含号码,只能在原帖中输入号码。

上面的公告栏给了rownum。

如何让原文按顺序出现而不省略序号?

    SELECT RN, BNO, BNAME, BTITLE, BCONTENT, BDATE, BGROUP, BSTEP, BINDENT,
    COMCNT, ISDEL, HAVEFILE
    FROM
    (SELECT rownum RN, BNO, BNAME, BTITLE, BCONTENT, BDATE, BGROUP, BSTEP, BINDENT, COMCNT,
    ISDEL, HAVEFILE
    FROM ABOARD
    WHERE 1=1
    <if test="key != null &amp;&amp; !key.equals('')">
        AND (BNAME LIKE '%${key}%' OR BTITLE LIKE '%${key}%' OR BCONTENT LIKE
        '%${key}%')
    </if>
    ORDER BY BGROUP DESC, BSTEP ASC)
    WHERE (RN BETWEEN #{start} AND #{end})
    
</select>

表格说明 创建表板(

BNO NUMBER PRIMARY KEY, --PK

BNAME VARCHAR2(10 char) NOT NULL, --writer

BPW VARCHAR2(10 char) NOT NULL, --password

BTITLE VARCHAR2(100 char) NOT NULL, --title

BCONTENT VARCHAR2(1200 char) NOT NULL, --content

BDATE DATE NOT NULL, --date

BGROUP NUMBER NOT NULL, -- reply sequence

BSTEP NUMBER NOT NULL, --reply

BINDENT NUMBER NOT NULL, --reply depth

COMCNT NUMBER, --comment Count

ISDEL CHAR(1) DEFAULT 'N', --is that delete?

HAVEFILE CHAR(1) DEFAULT 'N' --do you have files?

);

查看

<c:choose>
            <c:when test="${empty list }">
                <tr>
                    <td colspan="4" align="center">--------------작성된 글이
                        없습니다-----------------</td>
                </tr>
            </c:when>
            <c:otherwise>
                <c:forEach items="${list}" var="dto" varStatus="status">
                            <tr>
                                <td><c:if test="${dto.bstep==0 }">${dto.rn}</c:if><c:if test="${dto.bstep>0 }"> </c:if></td>
                                <c:if test="${dto.isdel=='Y'}"><td colspan="3" style="color: red; font-style: italic;">
                                    삭제된 글입니다.</td></c:if>
                                <c:if test="${dto.isdel=='N'}"><td><c:out value="${dto.bname}" /></td>
                                    <td style="text-align:left; padding-left:${dto.bindent*20}px;"><a
                                        href="detail.do?bno=${dto.bno}&page=${pageProcessing.curPage}"><c:out
                                                value="${dto.btitle}" /></a> 
                                    <span style="color: red;"><small><b>[<c:out value="${dto.comcnt}" />]</b></small></span>
                                    <c:if test="${dto.havefile =='Y'}"><img src="image\attachment.png" style="width:12px; height:12px;"> </c:if>        
                                            
                                            </td>
                                    <td><fmt:formatDate value="${dto.bdate}"
                                            pattern="yyyy/MM/dd HH:mm:ss" /></td></c:if>
                            </tr>
                </c:forEach>
            </c:otherwise>
        </c:choose>

【问题讨论】:

    标签: html spring oracle rownum


    【解决方案1】:

    将查询中的 ORDER BY 子句更新为:

    ORDER BY rownum, BGROUP DESC, BSTEP
    

    参考:multiple column ordering

    【讨论】:

    • 好的。谢谢。 'rownum DESC, BGROUP DESC, BSTEP ASC' 显示排序正确。但是没有给回复编号只输入原文章的编号,我想按顺序进行。比如3-原创-回复2-原创1-原创就是这样。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-22
    • 2015-09-29
    • 1970-01-01
    • 2020-12-27
    • 2020-04-02
    • 2018-03-01
    • 1970-01-01
    相关资源
    最近更新 更多