-
建議將 @orderby int 引數設定為 varchar,即直接傳入需要排序的字段列表。
如果它為空,則採用 addtime desc
可以將儲存過程更改為如下所示。
declare @sql varchar(8000)set @sql='select * from table '
if @orderby=''
set @sql=@sql+' order by price1 asc '
elseset @sql=@sql+' order by '+@orderby
exec (@sql)
-
在 SQL 中,where 和 order by 一起用於按 where 子句指定的查詢條件篩選的資料行和按一列或多列排序 order 指定的條件上公升排序。
結構化查詢語言(SQL),簡稱SQL,是一種特殊用途的程式語言,是一種資料庫查詢和程式語言,用於訪問資料以及查詢、更新和管理關係資料庫系統。
where 子句設定查詢條件以篩選出不需要的資料行。
使用 order by 子句按一列或多列對查詢返回的結果進行排序。 order by 子句的語法格式為:
order by [,n]
除其他外asc表示公升序,對於預設值,則 desc 正在下降。
-
其中第 2 列 = '條件 1' 這是首先過濾的資料,然後按“條件 2”排序
最後,獲取第一條資料。
其實你可以自己測試,根本不需要問別人。
-
它仍然是實現條件 1 和條件 2 的 top1。
-
哪裡只是過濾,排序依據是排序。
-
第一種說法是錯誤的,從 wnere(時間條件)中選擇 @pp=sum(money) 查詢所有部門的總金額。
實際上,這兩個語句可以一起寫,如下所示:
選擇 depname,@pp=sum(money) 從 where (time condition) group by depname
-
我真的不明白你在說什麼,如果你按單位對銷售額進行分組,就把分組按語句加到最後就行了。
-
使用動態語句就是使用 SQL 字串操作來組成要執行的語句並執行它
declare @sql cmd varchar(1000) -- 定義用於儲存語句的變數。
set @sql_cmd='select * from tab_ '--注意引號前有乙個空格,如果你的 where 前面有乙個空格,那麼這個空格可以省略,空格的目的是防止表名與單詞 where 連線產生無法識別的命令。
set @sql_cmd=@sql_cmd + 'where id='+ id --id 是輸入引數,數字,如果引數是文字,則用兩個連續的單引號將其括起來,因為文字中兩個連續的單引號代表實際的單引號。 這就是它的寫法,設定為 @sql cmd=@sql cmd +' where account=''' +@account+''''
在這裡,您可以修改 cmd @sql文字的值,更不用說新增位置了,您可以將其更改為更新。
選擇 @sql cmd -- 完成修補,輸出此文字以檢視它是否正確。
exec(@sql cmd)--執行此文字,注意括號,效果與直接執行語句相同。
-
case 語句是乙個只能在 DML 語句中使用的函式,例如 select、update、delete,因此在這種情況下只能使用 if。
-
在儲存過程中,if 語句用於確定條件。
create procedure stu(@id int)asif @id = 1
beginselect ..
endelse if @id = 2
beginselect ..
endelse
beginselect ..end
-
列是一組資料,表名是
id class
查詢 Class 1 和 Class 2 每個班級有多少人,並按班級順序排列,select class, count(*)from a where class in(1,2) group by class order by class
-
你在外面這樣寫是沒有用的,你只能在裡面寫。
例如,將判斷新增到執行的儲存過程中。
if day(getdate())20
Begin 執行某些內容。
endelse
不執行 Begin,並跳過儲存過程。
最後就是給大家舉個例子,大家可以參考實際情況自己寫。
F get domain contrast 是乙個格式化函式(應該自己編寫),第乙個引數(arg prod spec id)根據第二個引數(120)格式化並返回結果給 v 賬單程式碼,根據函式命名方法,上面的**應該是獲取日期的標準格式。
sele date,a.win, b, lose from table, (sele date count(result) as win from table where rsult='贏'分組按日期 )a,,(sele date count(result) as pay from table where rsult='支付'按日期分組 )b 其中表。date=表。 >>>More