• SQL GROUP BY 实例


    GROUP BY 语法:

    SELECT column_name, function(column_name)
    FROM table_name
    WHERE column_name operator value
    GROUP BY column_name

    实例

    表结构如下:

    BookComments

    列 名

    类型

    长度

    是否允许为空

    说明

    CommentsNo

    bigint

    8

    主键 非负 自增

    BookNo

    varchar

    50

    外键 book表主键

    Created

    Time

    Datetime

    评论生成时间

    Uid

    Varchar

    10

    评论人ID

    Text

    Text

    评论内容

    BookList表:

    列 名

    类 型

    大 小

    是否允许为空

    说明

    BookNo

    Varchar

    10

    书号 主键

    BookName

    Varchar

    200

    书名

    Auther

    Varchar

    200

    作者

    Introduction

    Text

    简介

           Connection conn = DatabaseConn.getConnection(); //此处调用的是前面篇章中的连接池的方法
           Statement stm = conn.createStatement();
          ResultSet result=stm.executeQuery("" +
            "select BookComments.BookNo,BookList.BookName,BookList.Auther," +
            "COUNT(BookComments.BookNo) AS  CountNo " +
            "from BookComments,BookList " +
            "where BookList.BookNo=BookComments.BookNo " +
            "GROUP BY BookComments.BookNo,BookList.BookName,BookList.Auther " +
            "order by CountNo desc ");

    实现功能:统计图书的评论数,然后按照从多到少的顺序排列起来,首先使用BookNo将BookComments,BookList连接起来,然后将BookComments.BookNo,BookList.BookName,BookList.Auther这些列聚组,COUNT(BookComments.BookNo) AS  CountNo统计不同的BookNo出现的次数,即实现记录评论的数量的目的

  • 相关阅读:
    博客是一种心情
    双显示器和双鼠标
    C++ Primer Plus 第六版 代码笔记
    Bug,昂首走进2005
    让万能五笔2004免费版改首页的功能见鬼去吧。
    Gmail提供POP3和SMTP已经老长时间了
    快过年回家了,发点实用的东西给大家
    关于博客园Post的时候排版的一点小建议
    在.Net下进行MicroStation(GG)的开发(一)
    验证域的另一方法
  • 原文地址:https://www.cnblogs.com/cherri/p/1703502.html
Copyright © 2020-2023  润新知