① sql 語句(數據分組)求助
假設你的id列就是根據stime列來從小到大排序沒間斷的,那麼可以用下面的語句。
我用的oracle寫的
如果有問題或者是sqlserver,追問。
selectt1.id,substr(max(to_char(t3.id,'fm000')||Groupid),4)
fromz_testt1
leftjoin(selectt2.*,'組'||rownumasGroupid
from(selecta.*
fromz_testa
leftjoinz_testbona.id=b.id+1
wherea.state<>b.state
orb.idisnull
orderby1)t2)t3ont1.id>=t3.id
groupbyt1.id
orderby1
② 如何在sql語句中給同一個欄位每行賦不同的值
1、使用標識列的方式來做(列類型為:數值型)
2、使用列類型為:[uniqueidentifier],默認值為newid()
③ SQL中分組短語是什麼
SQL中分組短語是:group by。
GROUP BY 語句
GROUP BY 語句用於結合合計函數,根據一個或多個列對結果集進行分組。
GROUP BY 語法
SELECT column_name, aggregate_function(column_name)FROM table_name WHERE column_name operator valueGROUP BY column_name
Group By 的使用:
1、 Group By [Expressions]:
這個恐怕是Group By語句最常見的用法了,Group By + [分組欄位](可以有多個)。在執行了這個操作以後,數據集將根據分組欄位的值將一個數據集劃分成各個不同的小組。比如有如下數據集,其中水果名稱(FruitName)和出產國家(ProctPlace)為聯合主鍵:
SELECTFruitName,ProctPlace,Price,IDASIDE,Discount
FROMT_TEST_FRUITINFO
WHERE(ProctPlace=N'china')ORDERBYIDE
這里只有在ORDER BY語句中才可以使用IDE,其他條件語句中如果需要引用列名則只能使用ID,而不能使用IDE。
以上就是Group By的相關使用說明。內容參考與網站CSDN中的「SQL語句Group By 語句小結「。
④ sql語句更新資料庫中一個表中同一欄位(根據其他欄位)賦予不同值
update jiage set price=case when UID>0 and UID<=5 then '$a' when UID>5 and UID<=10 then '$b' when UID>10 and UID<=20 then '$c' end
貌似你那語句有地方寫錯了,怎麼又大於10又小於等於10的
⑤ 新手求救,sql語句如何把一個表裡某一欄位值賦予另一個欄位
很有可能是因為:1.類型不同2.長度不同3.不符合其他定義規則,如必須前兩位是00****等
⑥ hive sql如何在每個單一id後加上1-6不同的數字,成為6行數據。因為要做月份單量的檢查表
摘要 方法:1.DBGrid新添加一個field,field名字為ID,這個欄位在你的表中是不存在的。
⑦ 如何用SQL語句實現子分類中的不同項目自動添加數字編號
有個問題:你為什麼強調「同一個ID下」?
如果跟是不是在「同一個ID下」沒有半毛錢關系,你的問題可以簡化成:查出來的每條記錄裡面SUB_NAME是存在的,SUB_ID是空著的,現在要把相同的SUB_NAME賦予相同的SUB_ID。
如果我的理解是正確的話,那麼:
1、你另外建一張表,比如叫SUB_ID_NAME_COMP,然後一個欄位是SUB_ID,另一個是SUB_NAME,然後你在這張表裡面把對應關系整理好;
2、寫下面這個腳本搞起:
select'updateAseta.sub1_id='||
(selectx.sub_id
fromSUB_ID_NAME_COMPx
wherex.sub_name=a.sub1_name)||',a.sub2_id='||
(selectx.sub_id
fromSUB_ID_NAME_COMPx
wherex.sub_name=a.sub2_name)||'wherea.sub1_name='||
A.SUB1_NAME||'anda.sub2_name='||A.sub2_name||';'
fromA;
其它,如果跟「同一個ID」有關系的話,上面的腳本在寫的時候再把ID相關的信息帶進去做好控制。
⑧ sql怎樣將a 表中的值賦予到b表中不同欄位的值
update B set extra = A.extra from A join B on (A.id = B.id);
⑨ SQL如何在不同分組中讀取指定數量的數據
declare tt cursor for select categories from 表1 group by categories
open tt
declare @categories varchar(50)
fetch next from tt into @categories
while(@@fetch_status = 0)
begin
select top 5 * into 表2 from 表1 where categories = @categories
fetch next from tt into @categories
end
deallocate tt
通過 select * from 表2 order by categories 可以得到你想要的數據,其他的你自己加工一下,相信你應該看得懂
⑩ SQL 分組統計 同欄位不同類型數據分別統計
這個意思?
selectsum(casewhenname1='1'thenmoneyelse0end)name1,
sum(casewhenname1='2'thenmoneyelse0end)name2,
sum(casewhenname1in('1','2')thenmoneyelse0end)money
fromtest1
不過你給的那結果不對吧?