當前位置:首頁 » 編程語言 » sql主觀題自動判分演算法
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql主觀題自動判分演算法

發布時間: 2022-05-18 15:37:43

❶ 關於sql中自動計算的問題

在SQL SERVER 中,建一個作業, 每晚零點自動執行
update table set total = total - price

❷ 輕速雲在線考試系統主觀題自動評分怎麼用

在題庫中簡答題的編輯界面中可以找到答案設置區。點擊「新增關鍵詞」按鈕,即可對主觀題答案設置多個關鍵詞。當考生作答結果中出現設置的關鍵詞時,視為與參考答案有一定關聯。

❸ sql 用存儲過程查詢成績是否合格 演算法和表如圖

這個可以通過CASE語句把相應的條件應用起來.
例:select case when 總成績>=60 then '合格'
when 平時成績/總成績=1then '平台不合格'
when ...
end as 成績

from 成績;

❹ 在線考試系統隨機抽題怎麼實現自動評分

優考試在線考試系統無論的固定試題還是隨機出題,都是可以實現自動判分的

具體有以下判分規則:

❺ 如何自動化完成SQL審核

sql審核主要完成兩方面的目的.
1、避免性能太差的sql進入生產系統,導致整體性能降低
2、檢查開發設計的索引是否合理,是否需要添加索引

第一點是SQL審核最核心的地方,避免亂七八糟的sql影響線上性能,甚至導致線上系統崩潰.
第二點是屬於建模的范疇,要解決建模的最好辦法是DBA參與項目前期審核,由DBA建模,如果DBA人力資源不足,那麼就定期由DBA對開發人員進行培訓.然後發現建模太爛的就扣KPI.

現在很多公司都是人肉來完成SQL審核的,人肉審核對dba的要求較高,需要懂一些代碼,另外是費時費力,畢竟一般公司幾十個開發,對應一個DBA,而且DBA還要干很多其他的事情.
如何將DBA從人肉SQL審核中解放出來呢?

思路其實很簡單:
1、獲取程序要執行的SQL
2、對要執行的SQL做分析,可以加各種分析條件來判斷這個SQL是否可以自動審核通過,未通過審核的需要人工處理.
3、配合後期的慢查詢日誌分析系統完成長期的監控.

開源的解決方案主要有淘寶丹臣sqlautoreview系統.可以在github上搜索到.
但是這個系統主要是基於java sqlmapfile.xml解決自動創建索引的問題,對源數據有要求,並且是通過解析SQL結構來假設SQL的執行計劃,不是特別准確,並且不能夠很好的區分新sql還是老sql.

所以產生了一個新的方案:
1、為所有的執行過的sql產生一個figerprint
2、基於慢查詢提供的數據,加上explain 提供的數據來判斷這個sql的性能是否可接受,或者可優化.
3、自動審核通過性能可接受的部分,給DBA展示性能較差的sql,然後進行優化.

方案的優點在於:
基於用戶真正執行的SQL,並且可以觀察SQL執行頻率.
基於MySQL真正的執行計劃和執行結果,分析更准確.
每個SQL都有一個fingerprint,只需要增量處理新加的SQL,效率和性能提高.
基於Box anemometer二次開發,讓慢查詢和sql審核同平台,增加工具集成性,提高用戶體驗(DBA和開發人員)。

方案實施:
既然咱是DBA,肯定會有更DBA的思維方式.基於現有軟體二次開發完成,減少開發成本,整合管理平台.
基於Box anemometer.安裝Box anemometer
Box anemometer是一款B/S架構,圖形化的MySQL慢查詢分析工具.功能強大易用,設計簡單直接.anemometer是基於pt-query-digest的二次封裝得來.

核心處理流程:
mysql node–>計劃任務通過pt-query-digest收集慢查詢信息–>結果寫入到資料庫中–>anemometer按條件去展示慢查詢的結果,並且提供了圖形化和趨勢分布圖等功能.
所以anemometer已經幫我們完成了數據收集,包括每個sql的fingerprint信息,以及相關的信息,我們在測試環境,基於anemometer,將long_query_time設置為0,就可以收集到所以的SQL及相關信息.

在我們收集到所有SQL以後,我們就要來分析這個SQL是否可以自動審核通過.這里開始我們就要定製了.

定製內容如下:
一、
設置一個單獨的datasources,可以命名為audit_sql.
這個datasources裡面只放置開發環境或者測試環境的慢查詢(你要做sql審核基於哪個環境),將此環境的long_query_time設置為0,接收所有的sql查詢.

二、修改anemometer
ALTER TABLE `global_query_review` ADD audit_status VARCHAR(255) NOT
NULL DEFAULT 『refuse』 comment 『sql審計的狀態 refuse未通過 pass審核通過』;

修改PHP代碼.
在report模塊的where條件中增加一個Ait Status的選項框,可以過濾audit_status的狀態
在show_query模塊中增加一個Audit Status的選項框,可以人工設置audit_status的狀態

三、增加兩個額外的腳本,准實時的分析audit_status為refuse的sql,如果sql的滿足自動審核通過的條件,那麼就設置audit_status為pass,表示自動審核通過.
自動審核未通過的sql,由DBA人工在anemometer上檢索和處理.
這里就涉及到一個自動審核通過的演算法:
演算法分兩種.
第一種是准實時,也就是可以幾分鍾或者一個小時運行一次,主要是根據每個sql的執行效率判斷是否pass.
對應的腳本名字叫做:audit_sql.py

第二種是一天一次,弱化執行效率判斷,增加一天執行的頻率判斷.
對應的腳本名字叫做:audit_sql_day.py

各家根據自己的實際情況調整或者優化這兩個腳本.
至此,你已經可以讓99%以上的代碼自動審核通過了,審核不通過的代碼你可以讓開發自己來tracking也可以主動推給開發.
對於才搭建的環境,可能會有一些亂七八糟的sql,不過使用一段時間穩定以後,異常的sql指紋都有了,那麼每天產生的sql指紋就比較少了,而這部分SQL指紋也就是程序員編寫新的代碼產生的.

❻ 在線考試系統中主觀題自動閱卷的設計

輕速雲在線考試系統關於主觀題自動閱卷的設置非常簡單,在題庫中簡答題的編輯界面中可以找到答案設置區。點擊「新增關鍵詞」按鈕,即可對主觀題答案設置多個關鍵詞。當考生作答結果中出現設置的關鍵詞時,視為與參考答案有一定關聯。

❼ 求一個sql語句排名演算法,,第一名8學分,第二名有兩位都是7學分,那麼得6分的人為第4

selectrank()over(orderby學分desc)
froma

sqlserver的,2個都為7的,都是第2名

❽ SQL server計算總分和平均分,排名問題

用以下語句

select
id,姓名,語文,數學,英語,物理,化學,
(語文+數學+英語+物理+化學)As總分,
((語文+數學+英語+物理+化學)/5)As平均分
from
成績表
orderby總分desc

注意,不能用sum和avg。因為這些函數是針對不同行(記錄)進行計算;而現在是對同一行的不同欄位進行計算。

❾ 求sql語句的演算法

要寫代碼:
select b
go top
mCheck=''
do while .not. eof()

i=1
mName=Name
if mName<>mCheck
replace id with i
i=i+1
else
i=1
endif
skip
mCheck=Name
enddo

❿ 怎麼讓sql自動讀取數據計算單件利潤(以下是我建的表)

--你的表結構被我更改了以及自動計算單件利潤的腳本如下所示:
go

createtable寵物用品表(

寵物用品名char(20)primarykey,
庫存數量float,
零售價格float,
進貨價float,
單件利潤float,
類別char(20)
)

go

createtriggertr_cwyp--觸發器
on寵物用品表
afterupdate,insert
as
begin
ifupdate(零售價格)orupdate(進貨價)
begin
update寵物用品表set單件利潤=零售價格-進貨價where寵物用品名=(select寵物用品名frominserted);
end
end


go
insertinto寵物用品表(寵物用品名,庫存數量,零售價格,進貨價,類別)values('泰國貓糧',549,421,300,'干糧系列');
insertinto寵物用品表(寵物用品名,庫存數量,零售價格,進貨價,類別)values('英國狗糧',439,400,290,'干糧系列');
insertinto寵物用品表(寵物用品名,庫存數量,零售價格,進貨價,類別)values('日本魚糧',688,100,60,'干糧系列');
insertinto寵物用品表(寵物用品名,庫存數量,零售價格,進貨價,類別)values('比利時鳥糧',1000,150,80,'干糧系列');
insertinto寵物用品表(寵物用品名,庫存數量,零售價格,進貨價,類別)values('寵物除蟲劑',800,55,30,'醫療用品');
insertinto寵物用品表(寵物用品名,庫存數量,零售價格,進貨價,類別)values('寵物清潔劑',931,40,25,'環境清潔');
go

select*from寵物用品表

go