sql中有子查詢如何group by

2022-12-29 21:25:57 字數 2339 閱讀 6799

1樓:傳奇勇者

你這個又要巢狀又要彙總的查詢,效率肯定不高,寫一個儲存過程,先分別查詢出來,然後在合併起來。

2樓:

as只是對這一列起了個別名吧,你試試group by u.use002...或者bm.u.use002....呢?

sql語句中group by,聚合函式的使用。單行子查詢返回多行怎麼辦?求解答!

3樓:匿名使用者

group by函式,允許查詢出多列,你的sql語句中直接把多列都列出來就可以了

比如你的列有id,name,type,caption都想列出來,則

select id,name,type,max(caption) from table group by id

如果同一id下,你還想在想看某一類別下最大caption的資料,則group by 後面增加type就行了

select id,name,type,max(caption) from table group by id,type

4樓:匿名使用者

把 where後面的caption=(select***)改為 caption in 就好了

-----

試下這個看看select * from table where caption = (select max(caption) from table group by id)把這個改成 select a.* from table a,(select max(caption),id from table group by id) b where a.id=b.id

5樓:超級小褲衩

select * from table where id = select id from(select id,max(caption) from table group by id)

這個意思麼

6樓:蒙謹

你沒有select id ,為什麼還要對id使用聚合函式

select 中有子查詢 如何group by

7樓:匿名使用者

select (select a.name from base a where a.id=b.s_id) as dd from base b;

由於select a.name from base a where a.id=b.s_id查出來的資料必須是一條才正常執行,如果是多條,你是要取任意一條? 可以取第一條資料

8樓:

select (select top 1 a.name from base a where a.id=b.s_id) as dd

from base b

用top 1或min/max都同

9樓:匿名使用者

select * from 表明 where 物料 in (select distinct 無聊 from 表)

sql 子查詢裡面可以寫group by 嗎?(要正確答案)

sql子查詢裡使用group by之後查詢結果不對 5

sql中 ,和 group by 效果相同的子查詢,不要distinct 100

10樓:匿名使用者

sqlserver2005以上可以用

select *,row_number() over(partition by xx order by xx)rn from tb

11樓:

設表table1有id,學號,學生,學科,成績幾個欄位,其中id可確定不重複的行。

現要求每個學生總成績:

group 語句這樣寫:

select 學號,學生,總成績=sum(成績) from table1 group by 學號,學生

用子查詢這樣寫:

select 學號,學生,總成績=isnull((select sum(成績) from table1 a where a.id=table1.id),0) from table1 where not exists(select 1 from table1 b where b.

學號=table1.學號 and b.id

id) group by 學號,學生

其中第一個子查詢求每個學成的總成績,第二個子查詢保證每個學號只出現一次。

mysql中想知道group by 之後的結果數量,必須用子查詢嗎?請舉個例子

sql查詢中有一列中有NULL的資料,如何判斷不為空的時候才

在資料庫系統中,空值是 什麼也沒有 解釋 所謂的null就是什麼都沒內 有,連 0都沒有,0在字串容中是結束符,但是在實體記憶體是佔空間的,等於一個位元組,而null就是連這一個位元組都沒有。在資料庫裡是嚴格區分的,任何數跟null進行運算都是null,判斷值是否等於null,不能簡單用 而要用is...

sql問題子查詢返回的值不止,sql 問題子查詢返回的值不止一個。

解決方法如下 返回一個值 返回多個說明資料庫中滿足使用者查詢條件的記錄有多個,要返回一個就說明使用者的查詢條件不夠,再加條件控制就行了,比如在語句末尾再加 and 如果使用者問的是如何在後臺程式中接收的話,用list可以,一個節點接收result的一行值,讀取的時候遍歷list就行了。update ...

sql中的這樣的子查詢不行嗎

我覺得這個地方很別捏 where k1 all select k1 是不是可以寫成 where k1 in select 另外這一段 select k1 case when net yxrs 30 round net yxrs 30,0,1 0.3 then round net yxrs 30,0,...