① 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
不过你给的那结果不对吧?