0
我正在MySQL中編寫查詢,它已向我提出質疑。這是情況;使用另一列的最大值選擇列的最大值
我們假設我有一張名爲'status
'的表格,它保存了類似電視節目的數據;
+---------+---------+---------+---------+
| id | season | episode | channel |
+---------+---------+---------+---------+
| 1 | 2 | 10 | a |
| 1 | 3 | 2 | b |
| 1 | 2 | 9 | c |
| 1 | 3 | 1 | d |
| 1 | 3 | 2 | e |
+---------+---------+---------+---------+
我想檢索包含上個賽季最後發行的劇集的行。根據上面的表格,我希望這樣的
+---------+---------+---------+
| season | episode | channel |
+---------+---------+---------+
| 3 | 2 | b |
| 3 | 2 | e |
+---------+---------+---------+
賽季列的最大值爲3。在這種情況下的結果,我已經檢索到有情節列的最大值的行,其中季等於3.我寫了一個查詢,它給出了預期的結果,但我不認爲這是一個合適的查詢。我如何改進下面的查詢?如果需要,我可以添加額外信息或提供更多示例。
SELECT `season`,
`episode`,
`channel`
FROM `status`
WHERE `tvseriesid` = 1
AND `season` = (SELECT Max(season)
FROM `status`
WHERE `tvseriesid` = 1)
AND `episode` = (SELECT Max(episode)
FROM `status`
WHERE `tvseriesid` = 1
AND `season` = (SELECT Max(season)
FROM `status`
WHERE `tvseriesid` = 1))
關鍵是獲取包含正確信息的通道列表。這很簡單,並給出了我的意圖。 –