我有 :
SELECT
"Month",
COUNT( Trip_Id ) AS 'Number of Trips'
FROM
Tor_Bikes AS tb
GROUP BY
"Month";
這給了我一張每個月的表格,其中包含該月的旅行次數。我需要旅行次數最多的月份。我該怎么做呢?
uj5u.com熱心網友回復:
我自己正在學習 SQL,所以這絕不是規范的。
我們都知道如何制作這樣的表格:
(SELECT `productID`, count(`productID`) AS `TotalPriceChanges` FROM `ProductCostHistory` GROUP BY `productID`)
ProductID Count(*)
'707' | '3'
'708' | '3'
'709' | '1'
'710' | '1'
'711' | '3'
如果我理解正確,您想選擇此表的最大值。好吧,您可以簡單地將上面的內容用作派生表 - 子查詢或 CTE(公共表運算式)。使用 MYSQL 會是這樣的:
Select ProductID, max(TotalPriceChanges) FROM
(SELECT `productID`, count(`productID`) AS `TotalPriceChanges` FROM `ProductCostHistory` GROUP BY `productID`) as derivedTable
Group by `ProductID`
我們使用別名as來命名派生表,而不是使用聚合函式count,我們使用函式max。以上對我有用。
最終解決方案
SELECT Month, Max('Number of Trips') FROM
(
SELECT
"Month",
COUNT( Trip_Id ) AS 'Number of Trips'
FROM
Tor_Bikes AS tb
GROUP BY
"Month" AS DerivedTable;
)
GROUP BY MONTH
uj5u.com熱心網友回復:
您應該使用子查詢來實作:
SELECT MAX(Number_of_Trips) FROM (SELECT "Month", Count( Trip_Id ) FROM
Tor_Bikes AS tb
GROUP BY
"Month";)
uj5u.com熱心網友回復:
這是您要搜索的查詢:
SELECT Month, Max('Number of Trips')
FROM
(
SELECT Month, COUNT( Trip_Id ) AS 'Number of Trips'
FROM Trips AS tb
GROUP BY Month
)
uj5u.com熱心網友回復:
我是 SQL 新手,如果我錯了,請糾正我,但我認為按函式排序可以給出相同的結果......只是有其他不需要的結果,但至少它是你首先看到的 :)
按月分組后,按行程 ID 的計數降序排列。
uj5u.com熱心網友回復:
使用ORDER BY count():
SELECT
Month,
count(Trip_Id) AS amount
FROM
Tor_Bikes
GROUP BY
Month
ORDER BY
amount DESC
LIMIT
1
;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/514721.html
標籤:sqlsqlite
