SQL 查询 ORDER BY 两个条件无法正常工作 - 我做错了什么?
SQL query ORDER BY two criteria not working correctly - what am I doing wrong?
所以我是 SQL 的新手,我正在做这个查询,它应该打印出同一作者所写的书籍数量(按 AuthorID 分组,这是一个整数),按递减顺序排列按书籍数量排序,然后按 AuthorID 本身(整数)以升序排列具有相同数量书籍的 AuthorID。问题在于它出于某种原因也以降序打印 AuthorID。谁能解释我做错了什么?
SELECT AuthorID, COUNT(*)
FROM book
GROUP BY AuthorID
ORDER BY SUM(AuthorID) DESC, AuthorID ASC;
使用您在 SELECT 中的值来完成您需要的工作。首先按 COUNT(*) [your numbers of books] 降序排列,然后按 authorID 升序排列。
SELECT AuthorID, COUNT(*)
FROM book
GROUP BY AuthorID
ORDER BY COUNT(*) DESC, AuthorID ASC;
您正在尝试引入一个全新的值 SUM(AuthorID)
,这不是您想要的。如果 AuthorID 是一个 INT 值,那将吐出一些完全不同的东西。您可能可以通过测试查看输出结果,然后查看哪里出错了。
SELECT AuthorID, SUM(AuthorID) AS test_col, COUNT(*)
FROM book
GROUP BY AuthorID
所以我是 SQL 的新手,我正在做这个查询,它应该打印出同一作者所写的书籍数量(按 AuthorID 分组,这是一个整数),按递减顺序排列按书籍数量排序,然后按 AuthorID 本身(整数)以升序排列具有相同数量书籍的 AuthorID。问题在于它出于某种原因也以降序打印 AuthorID。谁能解释我做错了什么?
SELECT AuthorID, COUNT(*)
FROM book
GROUP BY AuthorID
ORDER BY SUM(AuthorID) DESC, AuthorID ASC;
使用您在 SELECT 中的值来完成您需要的工作。首先按 COUNT(*) [your numbers of books] 降序排列,然后按 authorID 升序排列。
SELECT AuthorID, COUNT(*)
FROM book
GROUP BY AuthorID
ORDER BY COUNT(*) DESC, AuthorID ASC;
您正在尝试引入一个全新的值 SUM(AuthorID)
,这不是您想要的。如果 AuthorID 是一个 INT 值,那将吐出一些完全不同的东西。您可能可以通过测试查看输出结果,然后查看哪里出错了。
SELECT AuthorID, SUM(AuthorID) AS test_col, COUNT(*)
FROM book
GROUP BY AuthorID