⑴ 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