有如下表student:
我們希望以class分組,每組的資訊平鋪,效果如下
分組首先想到的肯定是group by:
select * from student s group by s.class;
我們會發現這樣會報錯,因為name和age有多個值,這個時候我們就可以使用wm_concat()方法來解決。
select wm_concat(s.name),wm_concat(s.age),s.class from student s gruop by s.class;
但是這個寫法又出現了乙個新的問題,你會發現name和age這列的結果是
只需要把wm_concat前面加乙個to_char就好了,而且結果就是上面想要的結果。
select to_char(wm_concat(s.name)) as name,
to_char(wm_concat(s.age)) as age,
s.class
from student s
gruop by s.class;
---------------------
還有乙個函式listagg(『引數一』,』引數二』),這個函式和wm_comcat的作用類似,第乙個引數是字段,第二個引數是多個值之間的分隔符,但是用法有些不同,例子如下:
Oracle高階查詢之GROUP BY
為了方便大家學習和測試,所有的例子都是在oracle自帶使用者scott下建立的。現在客戶的需求是統計部門中每種工作的工資總額,最後還需要統計所有人的工資總數,相信這樣的需求對大家來說還是比較簡單的,很快就能寫出sql語句,如下 sql view plain copy select deptno,j...
Oracle高階查詢之GROUP BY
對於group by 的方式不再累贅,高階方式如下案例。為了方便大家學習和測試,所有的例子都是在oracle自帶使用者scott下建立的。所用emp表,如果沒有此表請參考文章 中拷貝 現在客戶的需求是統計部門中每種工作的工資總額,最後還需要統計所有人的工資總數,相信這樣的需求對大家來說還是比較簡單的...
在Django中使用group by
在django中怎樣使用group by語句呢?找了很多資料,都沒有看到好的,在這裡分享兩種方法給大家 首先,我們先建乙個簡單的模型。class book models.model name models.charfield u 書名 max length 255,db index true aut...