MySQL 连接表并按计数和字母顺序对数据进行排序
MySQL joining tables and sorting data by count and alphabetical order
假设我有这两个 table,我想编写一个查询,以显示我的 CatType table 中所有 CatType 的每个 CatType 中的猫类型名称和猫的数量。我想按降序显示猫,但如果两种类型的猫有相同数量的猫,那么我想按字母顺序显示它们。
这是我目前拥有的,但我无法准确获得我想要的。
任何提示或要考虑的事情都会非常有帮助。谢谢。
SELECT CatType_name AS 'Cat Type Name',
COUNT(*) AS 'Number of Cats'
FROM CatType INNER JOIN Cats
ON Cats.CatType_id = Cats.CatType_id
GROUP BY Cats.CatType_id, CatType_Name
ORDER BY CatType_name DESC;
Cats
---------------------
|Cat_id | integer |
---------------------
|cat_name| string |
---------------------
|cat_type | character|
---------------------
|CatType_id| integer|
---------------------
CatType
---------------------
|CatType_id|integer |
---------------------
|CatType_name|string |
---------------------
这可能有效。虽然还没有测试。
SELECT CatType_name AS 'Cat Type Name', COUNT(*) AS 'Number of Cats'
FROM CatType
INNER JOIN Cats
ON Cats.CatType_id = Cats.CatType_id
GROUP BY Cats.CatType_id, CatType_Name
ORDER BY count(*) DESC, CatType_name DESC;
假设我有这两个 table,我想编写一个查询,以显示我的 CatType table 中所有 CatType 的每个 CatType 中的猫类型名称和猫的数量。我想按降序显示猫,但如果两种类型的猫有相同数量的猫,那么我想按字母顺序显示它们。
这是我目前拥有的,但我无法准确获得我想要的。
任何提示或要考虑的事情都会非常有帮助。谢谢。
SELECT CatType_name AS 'Cat Type Name',
COUNT(*) AS 'Number of Cats'
FROM CatType INNER JOIN Cats
ON Cats.CatType_id = Cats.CatType_id
GROUP BY Cats.CatType_id, CatType_Name
ORDER BY CatType_name DESC;
Cats
---------------------
|Cat_id | integer |
---------------------
|cat_name| string |
---------------------
|cat_type | character|
---------------------
|CatType_id| integer|
---------------------
CatType
---------------------
|CatType_id|integer |
---------------------
|CatType_name|string |
---------------------
这可能有效。虽然还没有测试。
SELECT CatType_name AS 'Cat Type Name', COUNT(*) AS 'Number of Cats'
FROM CatType
INNER JOIN Cats
ON Cats.CatType_id = Cats.CatType_id
GROUP BY Cats.CatType_id, CatType_Name
ORDER BY count(*) DESC, CatType_name DESC;