mysql 能不能創建一個 有列級函數 的聯合視圖?
問題描述
剛學創建視圖,老是自己多做幾個實例,想提高一下,遇到一個問題,我先大體解釋一下怎么回事:
表1 shbooks 里面是書籍,表2 shtype 里面是書籍的分類;表1的cid 正好 等于 表2的id;
我先用表2.cid=表1.id創建了一個視圖;
又想創建一個統計視圖,但是這個統計視圖是基于 shbooks 表的屬性用 GROUP BY cid , COUNT(*) 創建的,但是這個統計視圖沒有 書類目的名, 只有書類目的id?請問怎么才能從 shtype 中把書類目名拿過來?
表1 shbooks:
idnamecidpricetime1挪威的森林186.852016-05-05 23:34:182經濟學解釋223.112016-05-05 23:34:183麥田里的守望者153.872016-05-05 23:34:184伯羅奔尼撒戰爭336.022016-05-05 23:34:185老人與海198.92016-05-05 23:34:186海邊的卡夫卡157.212016-05-05 23:34:187人類群星閃耀時379.522016-05-05 23:34:188動物農場179.782016-05-05 23:34:18表2 shtpye:
idtype1文學2經濟3歷史4偵探用表2.cid=表1.id創建了一個視圖;創建成功的創建的視圖:
主鍵書名類號類目價格導入時間1挪威的森林1文學86.852016-05-05 23:34:183麥田里的守望者1文學53.872016-05-05 23:34:185老人與海1文學98.92016-05-05 23:34:186海邊的卡夫卡1文學57.212016-05-05 23:34:188動物農場1文學79.782016-05-05 23:34:1810追憶似水年華1文學82.272016-05-05 23:34:1812舞舞舞1文學73.352016-05-05 23:34:182經濟學解釋2經濟23.112016-05-05 23:34:1813小麥經濟學2經濟15.192016-05-05 23:34:1814統計數字會說謊2經濟39.32016-05-05 23:34:184伯羅奔尼撒戰爭3歷史36.022016-05-05 23:34:18現在這個視圖只有類目id,沒有類目名,我想在這個視圖集上加上類目名,就是可以顯示shbooks中cid在 shtype 中的 type,請問怎么弄?
分類編號分類書籍總數17233134175262創建語句如下:
CREATE OR REPLACE VIEW vcount AS SELECT cid AS 分類編號,COUNT(*) AS 分類書籍總數FROM shbooksGROUP BY cid;
問題解答
回答1:CREATE OR REPLACE VIEW view_countAS SELECT t.id AS 書籍類目號, t.type AS 書籍類目名, COUNT( b.name ) AS 書籍總數, MIN( b.price ) AS 最低價, MAX( b.price ) AS 最高價FROM shbook AS b, shtype AS tWHERE b.cid = t.idGROUP BY b.cid;
相關文章:
1. mysql - SQL分組排序、隨機問題?2. node.js - webpack-dev-server正常運行,webpack打包卻出錯,怎么辦?3. 網頁爬蟲 - Python爬蟲返回狀態碼與實際情況不符?4. python - 有沒有關于Pyhton web開發的相關論壇或者書?5. html5 - iOS的webview加載出來的H5網頁,怎么修改html標簽select的樣式字體?6. 在windows下安裝docker Toolbox 啟動Docker Quickstart Terminal 失??!7. Python pyinstaller 打包后在其他電腦運行失敗8. 下一個頁面的三角在上面一個頁面會出現,在縮放的時候會遮住文字。9. javascript - webpack打包問題10. python3.x - c++調用python3
