sql大佬
A. 求sql大佬帮忙
详见图中所示。
创建触发器
B. 关于sql语句 求大佬
用union 把查询b,c,d,e,f等几张表的结果合并到一起
insert into a select * from (
select * from b
union
select * from c
union select * from d
union
.....
)
C. 求SQL大佬
有一个办法,那就是访问次数=1,并且访问日期是今天。
我不知道其他数据库怎么写,这里用oracle的写法
group by uid,website(因为可能出现同一个uid访问不同网站的情况,所以要用这两个进行分组) having count(date)=1(这个就是说访问次数自有一次,也就是可能新增,如果访问两次,那么就说明不是新增了) and max(date)=今天(因为只有一次,所以不管是写max还是min都可以,不过按照oraxcle的规则必须要写一个聚合函数,不然groupby语句是通不过的)(这个今天因为不知道你是什么数据库,所以就随便写了一个今天,至于怎么取的今天,或者date还要做什么函数,那就各个数据库都不一样了,而且因为date的格式不同也会有所区别)
前面可以显示用户uid和访问网站(没办法写完整的语句,那样的话发不上来,只要稍微写点麻烦的语句统统发不上来),这样得到的就是“今天访问某个网站的新用户的uid”,然后对结果再分一次组,以访问网站分组,就能得到“某个网站的新增用户数了”
不过这个语句有一个问题,我们假设一个uid今天访问了A网站,明天第一次访问了B网站,那么这个用户算不算是B网站的新增用户?如果算,那么我的语句正确,如果必须是新的uid才算新用户,那么现在这个写法就是不对的。
D. 有没有写sql的大佬啊
从你的描述看,SQL语句满足不了你的需求。
SQL语句是用来查询数据的,只能查出你需要的结果,不能给结果标注颜色。简单的话可以考虑用Excel标注颜色,复杂的话需要借助一些工具或者自己写个小程序来做了
E. 急需一位数据库SQL大佬
矩形
存储单元
非负约束
or
not like
6.你知道
7.不知道
8.UI
9.insert
10.整数
F. 有没有sql大佬,下面的sql怎么简写呢
把整个sql分成两部分,就是pd.did=145和37,先分成两个sql,然后再来分析。
你的子查询中的left join,感觉有问题。scd left jion pd xxx where pd.did=145,我们来分析一下,scd left join pd,就是说,scd表取全数据,pd表能关联上就取数据,关联不上就取空,但是你where条件中,却用的是pd.did=145,这样来看,left join就没有意义了,应该直接用俩表关联就可以,不用外关联了,这样来看,后面的 pi表也可以直接关联了,就是说,三个表直接关联即可。
再来说说,你的limit,既然是limit,就应该有order by,但是你这里却没有,就有可能导致每次查询出来的结果可能不一样,如果你确定只想要一条记录,那就一定要加一个order by的字段,既然where后面用的是pd表,那就用pd表的主键进行排序吧,没有表结构,就当这个表有id字段吧。
以上分析完毕,在来说说,如何把这个语句写成一个sql,因为你只想取145和37各一条记录,就可以考虑,用一个group by,这里没有你的表机构,给你一个方向,自己试试吧。
select scd.dimension_name,count(pd.id) from sys_class_dimension scd,proct_dimension pd, proct_info pi where pd.did = scd.parent_dimension_id and pd.proct_id = pi.proct_id AND pd.proct_id = pi.proct_id AND pi.`status` = 1 and pd.did in (145,37) group by scd.dimension_name order by pd.id
G. 写sql完全没思路,求sql大佬
首先,业务逻辑有点不清晰,现在假设第一道工序是开浇,开浇有开浇时间和结束时间,结束后在进行停浇工序,停浇有开浇时间和停浇时间。
目前来看,从你给出的数据,开浇和停浇,没有必然的联系,但是从数据分析,从开浇开始到开浇结束,至少用一个整天,而停浇开始时间一定是在开浇结束当天进行的,并且同一个中包号,每次停浇结束后,当天是不会在开浇的。
有了这些条件,应该可以查询了。定义以上的查询结果是表table
select * from table a,table b
where substr(a.停浇时间,1,10)=substr(b.开浇时间,1,10) and a.中包号=b.中包号
H. SQL 有大佬知道这个为什么转换失败吗,第二张是表格的定义语句
请检查左图插入借阅日期、归还日期的日期时间值的格式是否符合右图借阅表有关字段的datatime类型,重点检查插入日期时间值的冒号(:)、短横线(-)是否在英文状况下输入的。
I. 来个sql大佬,帮我写个语句
select 产品编码,quantity,rank()over(partition by 产品编码 order by tdjrq desc) 销售日期排序 from vw_xsqd
以上语句根据产品编码分组,并根据日期的倒序进行排序,以下将该语句的查询结果起别名为为aa
select 产品编码,sum (case when 销售日期排序=2 then 0-quantity else quantity end ) 和 from aa where 销售日期排序=<2 group by 产品编码
以上语句求出最近两次的和,如果:销售日期排序=2则显示负数,这样就可以求出最近一次和上一次的差。
然后再利用case when判断一下,如果和为负数那么就显示降XX,其他情况显示升XX,大概的思路就是这样。
具体合在一起大概是
select bb. 产品编码, case when b.和<0 then '降'+abs(bb.和) else '升'+bb.和 end 升降 from (select 产品编码,sum (case when 销售日期排序=2 then 0-quantity else quantity end ) 和 from (select 产品编码,quantity,rank()over(partition by 产品编码 order by tdjrq desc) 销售日期排序 from vw_xsqd) aa where aa. 销售日期排序=<2 group by 产品编码) bb
为什么写这么多?
因为这个语句仅仅提供一个思路,语句并不完全正确,所以基本不可能直接拿来用,你根据实际情况进行删减操作就可以了,另外sqlserver真的好久好久没用过了,不要说函数,就连别名规范几乎都忘了(就记得好像是个函数就要起别名,这里可能也会有写的不规范的地方),那个+是我仅仅记得的连接字符串,如果写错了请不要介意,就是用来连接升降和数字的意思。
J. 求助sql大佬,这个sql该怎么写呢
用外连接。假设表为t
select t1.a-t2.a from t t1, left join t t2 on t1.c=t2.c where t1.b=4 and t2.b=1;
细节你修改一下,思路就是上面的样子。