【问题标题】:Oracle 10g - sql query [closed]Oracle 10g - sql 查询 [关闭]
【发布时间】:2013-12-25 07:00:52
【问题描述】:

我有一个名为 books 的表

BookID  Title  Publisher_Name Publisher_Address No_of_Copies

select Publisher_Name from books where Title like '%C%', 

会给我所有包含字母 C 的书(在这种情况下是 C 编程,如 ANSI C、Let Us C 等...)

但是如何解决这个问题:

列出已出版最多 c 编程书籍的出版商?和

列出出版书籍数量较少的出版商

【问题讨论】:

    标签: sql select count oracle10g sql-like


    【解决方案1】:

    试试这个:

    问题 1。

    SELECT Publisher_Name, SUM(No_of_Copies) No_of_Copies
    FROM books 
    WHERE Title LIKE '%C%'
    GROUP BY Publisher_Name
    ORDER BY No_of_Copies DESC
    

    问题 2:

    如果要列出出版C语言书籍数量较少的出版商

    SELECT Publisher_Name, SUM(No_of_Copies) No_of_Copies
    FROM books 
    WHERE Title LIKE '%C%'
    GROUP BY Publisher_Name
    ORDER BY No_of_Copies
    

    一般情况下

    SELECT Publisher_Name, SUM(No_of_Copies) No_of_Copies
    FROM books 
    GROUP BY Publisher_Name
    ORDER BY No_of_Copies
    

    编辑:::

    SELECT Publisher_Name, SUM(No_of_Copies) No_of_Copies
    FROM books 
    WHERE Title LIKE '%C%'
    GROUP BY Publisher_Name
    ORDER BY No_of_Copies DESC LIMIT 1
    

    SELECT Publisher_Name, MAX(No_of_Copies) No_of_Copies
    FROM (SELECT Publisher_Name, SUM(No_of_Copies) No_of_Copies
          FROM books 
          WHERE Title LIKE '%C%'
          GROUP BY Publisher_Name
          ORDER BY noOfBooks DESC
         ) AS A
    

    【讨论】:

    • 我收到以下错误。SQL> select publisher_name,SUM(no_of_copies) from books where title like '%C%' group by publisher_name order by no_of_copies desc; select publisher_name,SUM(no_of_copies) from books where title like '%C%' group by publisher_name order by no_of_copies desc * ERROR at line 1: ORA-00979: not a GROUP BY expression
    • @SubhamSoni 将别名命名为 SUM(no_of_copies)no_of_copies 然后它将起作用
    • 我知道了,但是我得到了按出版商和 no_of_copies 降序排列的输出。我不明白这个查询。你能解释一下吗?我想我只会得到一个值作为输出,最大的一个?
    • @SubhamSoni 我写了一个查询来获取您提到的出版商列表,以便您获得出版商列表而不是最大副本数
    • @SubhamSoni 如果你想要最大值,你可以通过在查询中最后添加LIMIT 1 或使用MAX 函数来实现。我在答案的最后添加了两个查询。所以检查我的更新答案
    猜你喜欢
    • 1970-01-01
    • 2013-01-11
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 2011-03-11
    • 2013-10-31
    • 2020-09-15
    相关资源
    最近更新 更多