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. 在應用配置文件 app.php 中找不到’route_check_cache’配置項2. html按鍵開關如何提交我想需要的值到數據庫3. mysql取模分表與分表4. HTML 5輸入框只能輸入漢字、字母、數字、標點符號?正則如何寫?5. gvim - 誰有vim里CSS的Indent文件, 能縮進@media里面的6. dockerfile - 我用docker build的時候出現下邊問題 麻煩幫我看一下7. 跟著課件一模一樣的操作使用tp6,出現了錯誤8. PHP類屬性聲明?9. objective-c - ios 怎么實現微信聯系列表 最好是swift10. javascript - 請教如何獲取百度貼吧新增的兩個加密參數
