関数
パートI:機能1
- 集計機能
- sum()
は、指定されたフィールドのデータを合計、累積、および合計し、数値フィールドでのみ統計を実行できます。 - avg()
は平均値を計算し、指定されたフィールドの平均値をカウントします。 - max()
最大値、指定されたフィールドの最大値をカウントします。同じ値がある場合、最初の値が物理的な順序で表示されます。 - min()
指定されたフィールドの最小値をカウントする最小値。 - count()
は数を見つけ、指定されたフィールドまたはクエリ条件を満たす結果のデータレコードの数を数えます - 例:
- 10年以上の勤続年数を持つ従業員の数を照会する
select dang_an.name, count(gl) as 人数 from dang_an where gl>10 group by dang_an.name
- 男性と女性の従業員の数を照会する
select dang_an.sex,count(dang_an.sex) as 人数 from dang_an group by sex
- 各従業員の平均給与と平均評価スコアを照会する
select dang_an.name,avg(gongzi.gongzi)as 平均工资,avg(kaohe.kaohe)as 平均考核分 from dang_an,gongzi,kaohe group by dang_an.name
- 営業部門の各従業員の総給与と総業績を照会する
select dang_an.name,sum(gongzi.gongzi)as 总工资,sum(yeji.yeji)as 总业绩 from dang_an,zhiwei,gongzi,yeji where dang_an.zw_id=zhiwei.zw_id and dang_an.id=gongzi.id and dang_an.id=yeji.id and gongzi.nian=yeji.nian and gongzi.yue=yeji.yue and zhiwei.zw='销售' group by dang_an.name
- 次の形式で表示される、各従業員のすべての賃金、最大賃金、および最小賃金を照会します:名前、最高、最低
select dang_an.name as 姓名,max(gongzi.gongzi)as 最高,min(gongzi.gongzi)as 最低 from dang_an,gongzi where dang_an.id=gongzi.id group by dang_an.name
- 日付機能
- GetDate()現在のシステム日付を取得します
SELECT GETDATE()
返回:当前日期和时间
- DateAdd()は、指定された年(yy)、月(mm)、または日(dd)を追加します
SELECT DATEADD(mm,4,'2017-12-20')
返回:2018-04-20(增加4个月)
- DateDiff()は、2つの日付間の指定された日付部分の差を比較します
SELECT DATEDIFF(yy,'2000-12-20','2017-06-16')
返回:17(相差17年)
- DateName()は、指定された日付の特定の部分の文字列を表示します
SELECT DATENAME(DW,'2017-06-16')
返回:星期五(dw是星期)
- DatePart()は、日付内の指定された日付部分の整数形式を表示します
SELECT DATEPART(mm,'2017-06-16')
返回:6(六月)
- 小さな拡張
- 何日住んでいるかを問い合わせ
ますSELECTDATEDIFF(dd、 'xxxx-xx-xx'、GETDATE()) - 各従業員が生まれた曜日を照会します
select dang_an.name, DATENAME(dw,dang_an.csny)from dang_an