取得最大值對應的列值
在 SQL中,你可能會遇到想要檢索與最大值對應的列值的情況另一列的值,同時確保檢索到的資料是
問題:
查詢表以擷取特定列並根據列(例如影片類別)對結果進行分組時,您可能會觀察到指定列(例如video_id)的最大值,它會提取正確的值,但會傳回所有其他欄位(例如 video_url、 video_date、video_title 和 Short_description)。
解:
要適當檢索與最大值對應的列,請考慮以下方法:
SELECT s.video_id ,s.video_category ,s.video_url ,s.video_date ,s.video_title ,s.short_description FROM videos s JOIN (SELECT MAX(video_id) AS id FROM videos GROUP BY video_category) max ON s.video_id = max.id
此查詢利用JOIN 操作來匹配計算最大視訊ID 的子查詢中的視訊ID (video_id) (id) 對於每個視訊類別,使用視訊表中的視訊ID。透過使用 JOIN 條件 s.video_id = max.id,可以確保只傳回每個類別的最大視訊 ID 的行。
這種方法不僅為最大影片 ID 提供了正確的對應值而且執行速度也比原始貼文中建議的解決方案快得多。
以上是如何在SQL中檢索最大值對應的列值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!