⑴ sql语句 查询 统计
这几个表里有哪几个列要告诉我们呀!
hotyxm - 高级魔法师 六级 最后一个题目好像有误.应该是:
select 学生姓名,count(课程编号) from 选课表 group by 学生号having count(课程编号)>=4;
不过你还是要把这几个表详细说下才好,上面这个SQL语句是跟据一般可能有和列和表来写的.
hotyxm - 高级魔法师 六级的回答可能还有其它错误.我没细看.但好像他就是从学生表里来查东西,一个表怎么能有那么多东西,会出异常的.
你不详细说明一下有哪些表和哪些列,我也不好跟你写.
⑵ sql查询某字段中特定值出现的概率 比如一个字段A中有 A 1 2 3 2 那么2出现的概率为50% 这个问题的sql怎么写
create table #aa(a varchar(10))
insert into #aa values('a')
insert into #aa values('1')
insert into #aa values('2')
insert into #aa values('3')
insert into #aa values('2')
select (select COUNT(*) from #aa where a='2')/1.0/ COUNT(*) from #aa
除1.0是为了把整数转成小数。
⑶ SQL语句如何按照概率随机抽取数据
--题目没有表达清楚,我就写个差不多的sql给你吧。
--通过case语句来判断返回一个概率
selectid,state
casestatewhen1then0.1when2then0.3else0.05endas概率
from表a
⑷ 数据库SQL查询语句
(我不太清楚你说的课程号是指CNO还是CNAME,我这里假定你说的课程号为CNO,以下语句均未考虑字段数值类型)
1、SELECT A1.SNO,A1.SNAME,A2.GRADE FROM S A1,SC A2 WHERE A1.SNO = A2.SNO AND A2.CNO = C2 AND A2.GRADE BETWEEN 80 AND 90
2、不太懂
3、SELECT A1.SNO FROM SC A1,SC A2 WHERE A1.SNO = A2.SNO AND A1.CNO = C2 AND
A2.CNO = C4 GROUP BY A1.SNO
4、SELECT A1.SNO FROM SC A1 WHERE A1.CNO = C1 AND A1.SNO NOT IN (SELECT SNO FROM SC WHERE CNO = C2)
5、SELECT A1.SNO,A1.SNAME,A1.AGE FROM S A1,SC A2 WHERE A1.SNO = A2.SNO AND A2.CNO NOT IN(C1,C2)
6、SELECT SNO,SNAME FROM S WHERE SNO NOT IN(
SELECT SNO FROM SC WHERE GRADE <= 80 ) GROUP BY SNO
7、
⑸ SQL 语句咨询抽取百分20数据
1、right(userid,1)的意思是取userid字段的从右边数第一位,也就是最后一位;
2、right(userid,1) in (0,1) 的意思是,取userid的最后一位是0或1 的数据;
3、问题上说该语句可以抽取20%的数据,推测:userid字段的最后一位必然是数字(0,1,2,3,4,5,6,7,8,9),那么筛选出0和1,那概率是20%,前提是userid末尾数字分布均匀;
#第三条只是推测,具体得看数据了;
⑹ SQL语句如何实现从数据库表中查询随机数据的记录
随机抽取几个数据的,打算在php用mt_rand取出随机的数字,作为数组索引来重新付一个新数组的,结果发现数组太多,数据库select占用时间太长,之后发现了下面的方法,拿来分享,不同的数据库又又不同的处理,那么就分开介绍一下:Select a random row with MySQL: ,SELECT column FROM table
⑺ 从数据库中根据出现概率随机读数据sql怎么写
如下:
--依据出现概率
SELECT * FROM t1 ORDER BY [出现概率]
--随机
SELECT * FROM t1 ORDER BY NEWID()
⑻ java相关,我有一个查询问题,通过一条sql语句查询出一个集合,这个集合中有3种类型。
我不觉得,我觉得单个sql比较快,首先如果你数据量大的话毫无疑问一次查询比多次查询要效率的多。另外一次查询你可以按照搜索最快的那个字段进行查询,又一次节省时间。其实说这么多都废话,哪种快,自己两种都试试就知道了。实践才是标准。
⑼ SQL查询一个表,根据概率查询当中的一条记录,求高手解答,感激不尽!!!
select * from table where B=条件 ORDER BY rand()*`C字段` LIMIT 1
⑽ 怎样从简单数据库用sql语句查询数据
查询是SQL语言的核心,SQL语言只提供唯一一个用于数据库查询的语句,即SELECT语句。用于表达SQL查询的SELECT语句是功能最强也是最复杂的SQL语句,它提供了很多选项和使用方法。SELECT语句的命令格式如下:
SELECT查询语句是由七个子句构成,其中SELECT和FROM子句是一个完整SELECT查询语句必须要有的,其它的子句可以根据具体需要任选。上述的每个子句功能说明如下:
(1)SELECT子句
列出所有要求SELECT语句进行检索的数据项,这些项可能取自数据库中关系表的列,也可以是SQL在执行查询时进行计算的表达式。这里的ALL和DISTINCT选项,表示查询出的结果中是否容许有内容重复的行出现,缺省时是ALL项,表示容许有重复的行出现,而*则表示查询出所指定关系表中所有的列。
(2)FROM子句
FROM子句列出包含所要查询的数据关系表。
(3)WHERE子句
WHERE子句告诉SQL只查询某些关系表中满足一定要求的行的数据,查询要求由WHERE子句中的查询条件确定。
(4)GROUP BY子句
GROUP BY子句指定当前查询是汇总查询,即不是对根据每行产生一个查询结果,而是对相似的行进行分组,然后再对每组产生一个汇总查询的结果。
(5)HAVING子句
HAVING子句告诉SQL只对由GROUP BY所得到的某些行组的结果进行过滤,选择出满足分组条件的分组。
(6)ORDER BY子句
ORDER BY子句确定是否将查询出的结果按一列或多列中的数据进行排序,缺省时是不排序的。
(7)INTO子句
INTO子句确定是否将查询出的结果存入一张新的关系表中,缺省时只将查询出现的结果显示在屏幕上。这是非标准SELECT语句中的子句,但目前绝大多数实际应用的SQL数据库系统的SQL语言提供了这一选项。
下面是一些使用SELECT查询语句进行数据查询的示例。
例1:列出销售额超过6000元的销售人员的姓名、销售目标和超过销售目标的销售额。
SELECT NAME,QUOTA,(SALES_QUOTA)
FROM SALESREPS
WHERE SALES>6000
例2:查出1999年最后一个季度的订单情况。
SELECT ORDER_NUM,ORDER_DATE,PRODUCT,AMOUNT
FROM ORDERS
WHERE ORDER_DATE BETWEEN "01-OCT-99" AND "31-DEC-99"
例3:查出名称是以ABC开头的产品订单情况。
SELECT ORDER_NUM,ORDER_DATE,PRODUCT,AMOUNT
FROM ORDERS
WHERE PRODUCT LIKE "ABC%"
例4:列出所有的销售处,按区域名字母顺序排列。
SELECT CITY,REGION
FROM OFFICE
ORDER BY REGION ASC
在这里ASC表示升序,如果表示降序可用DESC。
例5:列出每个销售人员以及他们工作的城市和区域的情况。
SELECT NAME,CITY,REGION
FROM SALESREPS,OFFICE
WHERE REP_OFFICE=OFFICE
例6:查出有多少销售员的销售额超过了其目标额,以及他们的销售额总和。
SELECT COUNT(NAME),SUM(SALES)
FROM SALESREPS
WHERE SALES>QUOTA