好的,所以我正在研究家庭影院系統,並顯示電視劇列表我一直在選擇第一季的第一集並顯示相關信息,那麼你可以深入到其他人。MYSQL MIN WHERE子句
這樣我就可以將所有電影和所有電視節目保存在一張表中,這使播放功能變得更加簡單。
問題是,我沒有在數據庫中的第一集的一些系列,我希望他們無論如何出現,所以我想選擇最低季節/系列而不是第一個。
我不能把MIN
SELECT子句中的那麼只選擇一個系列,我不能把LEAST
的WHERE
子句中,因爲它說,這是因爲他們分組的方式只有一個元素,並我不能使用LIMIT
,因爲它再次只會選擇一個系列。
有沒有辦法做到這一點沒有多個複雜的子查詢?
下面是我用此刻的查詢中,CASE
條款是從一系列的標題刪除/ AN /的正確字母順序:
SELECT *, CASE when substring(series,1,4) = 'The ' then substring(series, 5)
when substring(series,1,3) = 'An ' then substring(series, 4)
when substring(series,1,2) = 'A ' then substring(series, 3)
else series END AS sorttitle
FROM Theater.Videos WHERE type='TV' and season=1 and episode=1 ORDER BY sorttitle ASC
而這裏的基本上是我想要的東西:
SELECT *, CASE when substring(series,1,4) = 'The ' then substring(series, 5)
when substring(series,1,3) = 'An ' then substring(series, 4)
when substring(series,1,2) = 'A ' then substring(series, 3)
else series END AS sorttitle
FROM Theater.Videos WHERE type='TV' and season=MIN(season) and episode=MIN(episode) ORDER BY sorttitle ASC
您能否提供樣本數據以及預期的輸出? – Verma
表格佈局下面是對第二個答案的迴應;它給我的600個字符並不足以提供樣本數據,但基本上你會得到一組結果,通常*在除了季節和情節以外的每個列中都有相同的數據。系列/季節/情節相結合是獨一無二的,但我現在還沒有對此設置限制。這些字段在類型!='tv'中也只能爲null,儘管這也不是強制執行的(不確定它是否可以)。這兩個約束都是由應用程序強制執行的,所以數據符合它們,只是不在桌面佈局 –
1.你想看一系列的第一季或系列第一季的第一集。 – Verma