上節(jié)我們講了PROC SQL的基本結(jié)構(gòu),以及一些sql命令的使用,這節(jié)我們主要講一下case...when...、order by 、group by 、update、delete語句以及如何用proc sql生成宏變量。
示例1:有條件地賦值——case...when
Proc步中的 case...when... 相當(dāng)于data步中的 if...then... 根據(jù)某種條件輸出最終結(jié)果。
結(jié)果如下:
示例2:對(duì)數(shù)據(jù)進(jìn)行排序——order by
(1)默認(rèn)按升序排列
結(jié)果如下:
(2)按降序排列
結(jié)果如下:
示例3:檢索滿足條件的行——where
**當(dāng)我們想要選擇表中的某些觀測時(shí),可以使用where**來選擇符合特殊條件的觀測。
結(jié)果如下:
示例4:對(duì)數(shù)據(jù)進(jìn)行分組——group by
GROUP BY子句使SELECT語句的結(jié)果按子句中列出的一個(gè)或多個(gè)變量的每次不同出現(xiàn)進(jìn)行匯總或匯總。只有在SELECT或HAVING子句中包含一個(gè)或多個(gè)匯總函數(shù)(SUM、AVG、MIN、MAX)時(shí),GROUP BY子句才會(huì)添加到SELECT語句中。
(1)用group by進(jìn)行分組
結(jié)果如下:
(2)Having指定條件
說到指定條件,我們最新想到的往往是where子句,但是where子句只能指定行的條件,而不能指定組的條件,因此便有了Having子句,它用來指定組的條件,我們來看個(gè)示例:
我們想要了解平均體重大于100的是男性還是女性
結(jié)果如下:
示例5:子查詢
查詢語句中包含查詢語句,執(zhí)行時(shí)先執(zhí)行子查詢,后執(zhí)行外部查詢,根據(jù)包含子查詢的子句,子查詢可以返回一個(gè)值或多個(gè)值。
結(jié)果如下:
示例6:更新SAS表——Update
我們可以使用**SQL Update**語句更新SAS表。下面我們首先創(chuàng)建一個(gè)名為class的新表,然后使用SQL Update語句去更新它。
結(jié)果如下:
示例7:刪除操作——Delete
**SQL**中的刪除操作涉及使用**SQL DELETE**語句從表中刪除某些值.我們可以繼續(xù)使用示例中的數(shù)據(jù),并從表中刪除age大于等于13的觀測。
結(jié)果如下:
示例8:創(chuàng)建宏變量——INTO
給宏變量賦值,**Data**步和**Proc**步都能實(shí)現(xiàn),不過從操作靈活性上講,**Proc**步要更勝一籌。**Proc**步生成宏變量就需要用到**INTO**子句,下面來具體介紹一下**INTO**子句如何使用。
(1)指定一個(gè)宏變量
結(jié)果如下:
(2)指定多個(gè)宏變量
結(jié)果如下:
(3)指定一個(gè)宏變量來保存一列的所有值
結(jié)果如下:
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
相關(guān)推薦
【C語言應(yīng)用】如何用C代碼生成二維碼?
發(fā)表于 08-24 19:01
?2001次閱讀
SQL語句生成器SQL數(shù)據(jù)庫語句生成及分析器(支持表結(jié)構(gòu)、索引、所有記錄到SQL腳本)可用于數(shù)據(jù)數(shù)的備份和恢復(fù)!功能不用多說,試試就知道了
發(fā)表于 06-12 16:15
通過對(duì)ACCESS數(shù)據(jù)庫的“修復(fù)與壓縮”會(huì)使程序的運(yùn)行更加穩(wěn)定和提高運(yùn)行速度。——請(qǐng)教如何用SQL語句來壓縮ACCESS數(shù)據(jù)庫,只用SQL語句喲!謝謝!
發(fā)表于 11-29 21:54
轉(zhuǎn)自EEW。想必會(huì)C的網(wǎng)友對(duì)枚舉和宏的定義與使用并不陌生,對(duì)于枚舉和宏的區(qū)別大家應(yīng)該都很熟悉。枚舉類型用于聲明一組命名的常數(shù),當(dāng)一個(gè)變量有幾種可能的取值時(shí),可以將它定義為枚舉類型。宏是
發(fā)表于 02-26 08:39
為什么要?jiǎng)討B(tài)sql語句?因?yàn)閯?dòng)態(tài)sql語句能夠提供一些比較友好的機(jī)制1、可以使得一些在編譯過程中無法獲得完整的sql語句,在程序執(zhí)行階段動(dòng)態(tài)的獲得。2、支持動(dòng)態(tài)組裝 sql語句、動(dòng)態(tài)參
發(fā)表于 12-20 06:00
如何用altium_designer_09_把已畫好的原題圖_自動(dòng)生成pcb
發(fā)表于 11-20 11:31
?80次下載
許多用戶在使用紫金橋軟件構(gòu)建控制系統(tǒng)的同時(shí)也會(huì)與關(guān)系型數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互,在使用關(guān)系庫的過程中必然會(huì)用到大量的SQL腳本,而SQL腳本中的where語句常常需要由變量組成,那么如何在腳本中拼接
發(fā)表于 10-12 14:24
?3次下載
詳解如何用AD生成Gerber文件
發(fā)表于 11-23 11:07
?0次下載
自然語言生成SαL查詢不僅是構(gòu)建智能數(shù)據(jù)庫查詢系統(tǒng)的一個(gè)重要鉏成部分,亦是新型供電軌道交通系統(tǒng)混合時(shí)態(tài)大數(shù)據(jù)個(gè)性化運(yùn)維的難點(diǎn)之一。目前利用深度學(xué)習(xí)模型的方法專注于數(shù)據(jù)庫中單表SQL查詢生成,無法
發(fā)表于 04-09 16:32
?40次下載
【C語言應(yīng)用】如何用C代碼生成一維碼?
發(fā)表于 08-25 12:42
?2307次閱讀
在本文中,我們將研究用虛擬數(shù)據(jù)填充員工數(shù)據(jù)庫的過程,我們預(yù)先設(shè)計(jì)了它的模式。用虛擬數(shù)據(jù)填充SQL數(shù)據(jù)庫對(duì)于運(yùn)行測試很有用。最簡單的方法是使用可視數(shù)據(jù)生成工具用隨機(jī)數(shù)據(jù)填充SQL表。
發(fā)表于 10-09 17:40
?6145次閱讀
SQL(Structured Query Language)——結(jié)構(gòu)化查詢語言,是用于檢索和更新數(shù)據(jù)的一種標(biāo)準(zhǔn)化語言,SQL在SAS中通過PROC SQL來實(shí)現(xiàn)。
發(fā)表于 05-19 16:10
?2386次閱讀
,就會(huì)生成 /proc/sysrq-trigger 節(jié)點(diǎn)用于調(diào)試。 例如: 產(chǎn)生空指針panic事件,認(rèn)為導(dǎo)致系統(tǒng)崩潰 : echo?c?>?/proc/sysrq-trigger 導(dǎo)出當(dāng)前CPU寄存器
發(fā)表于 09-26 16:45
?455次閱讀
在Oracle SQL中,變量是用來存儲(chǔ)數(shù)據(jù)值的標(biāo)識(shí)符。通過定義和使用變量,我們可以在SQL語句中使用它們來存儲(chǔ)和處理數(shù)據(jù),從而實(shí)現(xiàn)更靈活和動(dòng)態(tài)的查詢和操作。 在Oracle
發(fā)表于 12-06 10:46
?2070次閱讀
這是 RisingWave 中一個(gè) SQL 函數(shù)的實(shí)現(xiàn)。只需短短幾行代碼,通過在 Rust 函數(shù)上加一行過程宏,我們就把它包裝成了一個(gè) SQL 函數(shù)。
發(fā)表于 01-23 09:43
?688次閱讀
評(píng)論