當前位置:首頁 » 編程語言 » sql怎麼實現大周排班
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql怎麼實現大周排班

發布時間: 2023-08-23 13:45:53

A. 考勤軟體Att2007 和sql2000 如何實現遠程考勤

將這段導入數據,並做好與sql的連孝空接

use kaoqin
--員工考勤記錄修改日誌
CREATE TABLE CHECKEXACT (
EXACTID INT IDENTITY(1,1) NOT NULL , --修改日絕賣志ID
USERID INT NULL DEFAULT 0, --員工ID號
CHECKTIME DATETIME NULL DEFAULT 0, --簽到/巧宏瞎簽退時間
CHECKTYPE VARCHAR (2) NULL DEFAULT 0, --原來的簽到/簽退標志:I-簽到,O-簽退
ISADD SMALLINT NULL DEFAULT 0, --是否新增的記錄
YUYIN VARCHAR (25) NULL , --修改考勤記錄的原因
ISMODIFY SMALLINT NULL DEFAULT 0, --是否僅僅是修改原始記錄
ISDELETE SMALLINT NULL DEFAULT 0, --是否是刪除的記錄
INCOUNT SMALLINT NULL DEFAULT 0, --是否恢復
ISCOUNT SMALLINT NULL DEFAULT 0, --
MODIFYBY VARCHAR (20) NULL, --操作員
[DATE] DATETIME NULL, --操作時間
CONSTRAINT EXACTID PRIMARY KEY (EXACTID)
)
;

--簽到/簽退記錄表
CREATE TABLE CHECKINOUT (
USERID INT NOT NULL , --員工ID號
CHECKTIME DATETIME NOT NULL DEFAULT GETDATE(), --簽到/簽退時間
CHECKTYPE VARCHAR (1) NULL DEFAULT 'I', --簽到/簽退標志:I-簽到,O-簽退
VERIFYCODE INT NULL DEFAULT 0, --驗證方式:除256的余數表示簽到的方式: 0-指紋;1-輸號碼;2-密碼。大於256表示該記錄已經被確認,在於處理時不進行處理
SENSORID VARCHAR (5) NULL, --採集數據的考勤終端/設備ID
CONSTRAINT USERCHECKTIME PRIMARY KEY (USERID, CHECKTIME)
)
;

--部門表
CREATE TABLE DEPARTMENTS (
DEPTID INT IDENTITY(1,1) NOT NULL , --部門ID
DEPTNAME VARCHAR (30) NULL , --部門名稱
SUPDEPTID INT NOT NULL DEFAULT 1, --上級部門的ID
CONSTRAINT DEPTID PRIMARY KEY (DEPTID)
)
;

CREATE TABLE EXCNOTES (
USERID INT NULL ,
ATTDATE DATETIME NULL ,
NOTES VARCHAR (200) NULL
)
;

--節假日表
CREATE TABLE HOLIDAYS (
HOLIDAYID INT IDENTITY(1,1) NOT NULL ,
HOLIDAYNAME VARCHAR (20) NULL ,
HOLIDAYYEAR SMALLINT NULL ,
HOLIDAYMONTH SMALLINT NULL ,
HOLIDAYDAY SMALLINT NULL DEFAULT 1,
STARTTIME DATETIME NULL ,
DURATION SMALLINT NULL ,
HOLIDAYTYPE SMALLINT NULL ,
XINBIE VARCHAR (4) NULL ,
MINZU VARCHAR (50) NULL,
CONSTRAINT HOLID PRIMARY KEY (HOLIDAYID)
)
;

--班次表
CREATE TABLE NUM_RUN (
NUM_RUNID INT IDENTITY(1,1) NOT NULL , --班次ID號
OLDID INT NULL DEFAULT -1, --
NAME VARCHAR (30) NOT NULL , --班次名稱
STARTDATE DATETIME NULL DEFAULT '2000-1-1', --起用日期
ENDDATE DATETIME NULL DEFAULT '2099-12-31', --結束使用日期
CYLE SMALLINT NULL DEFAULT 1, --班次一次循環的周期
UNITS SMALLINT NULL DEFAULT 1, --周期單位
CONSTRAINT NUMID PRIMARY KEY (NUM_RUNID)
)
;

--班次排班時段表
CREATE TABLE NUM_RUN_DEIL (
NUM_RUNID SMALLINT NOT NULL , --班次的ID號
STARTTIME DATETIME NOT NULL , --開始時間
ENDTIME DATETIME NULL , --結束時間
SDAYS SMALLINT NOT NULL , --開始日期
EDAYS SMALLINT NULL , --結束日期
SCHCLASSID INT NULL DEFAULT -1, --時段所屬的類別
CONSTRAINT NUMID2 PRIMARY KEY (NUM_RUNID, SDAYS, STARTTIME)
)
;

--管理員許可權設置表
CREATE TABLE SECURITYDETAILS (
SECURITYDETAILID INT IDENTITY(1,1) NOT NULL ,
USERID SMALLINT NULL ,
DEPTID SMALLINT NULL ,
SCHEDULE SMALLINT NULL ,
USERINFO SMALLINT NULL ,
ENROLLFINGERS SMALLINT NULL ,
REPORTVIEW SMALLINT NULL ,
REPORT VARCHAR (10) NULL,
CONSTRAINT NAMEID2 PRIMARY KEY (SECURITYDETAILID)
)
;

--輪班表
CREATE TABLE SHIFT (
SHIFTID INT IDENTITY(1,1) NOT NULL , --輪班ID號
NAME VARCHAR (20) NULL , --輪班名稱
USHIFTID INT NULL DEFAULT -1, --
STARTDATE DATETIME NOT NULL DEFAULT '1900-1-1', --起用輪班的日期
ENDDATE DATETIME NULL DEFAULT '1900-12-31', --結束時用輪班的日期
RUNNUM SMALLINT NULL DEFAULT 0, --該輪班中所含的班次數 0<x<13
SCH1 INT NULL DEFAULT 0, --輪班的第一個班次
SCH2 INT NULL DEFAULT 0, --輪班的第二個班次
SCH3 INT NULL DEFAULT 0, --輪班的第三個班次
SCH4 INT NULL DEFAULT 0, --輪班的第四個班次
SCH5 INT NULL DEFAULT 0, --輪班的第五個班次
SCH6 INT NULL DEFAULT 0, --輪班的第六個班次
SCH7 INT NULL DEFAULT 0, --輪班的第七個班次
SCH8 INT NULL DEFAULT 0, --輪班的第八個班次
SCH9 INT NULL DEFAULT 0, --輪班的第九個班次
SCH10 INT NULL DEFAULT 0, --輪班的第十個班次
SCH11 INT NULL DEFAULT 0, --輪班的第十一個班次
SCH12 INT NULL DEFAULT 0, --輪班的第十二個班次
CYCLE SMALLINT NULL DEFAULT 0, --輪班周期
UNITS SMALLINT NULL DEFAULT 0 , --周期單位
CONSTRAINT SHIFTS PRIMARY KEY (SHIFTID)
)
;

--員工登記指紋表
CREATE TABLE TEMPLATE (
TEMPLATEID INT IDENTITY(1,1) NOT NULL , --指紋ID號
USERID INT NOT NULL , --員工ID號
FINGERID INT NOT NULL , --手指ID號,0-9分別表示右手拇指、右手食指、……、左手無名指、左手小指等
TEMPLATE image NOT NULL , --指紋模板1
TEMPLATE2 image NULL , --指紋模板2
TEMPLATE3 image NULL , --指紋模板3
BITMAPPICTURE image NULL , --登記的指紋圖像1
BITMAPPICTURE2 image NULL , --登記的指紋圖像2
BITMAPPICTURE3 image NULL , --登記的指紋圖像3
BITMAPPICTURE4 image NULL , --登記的指紋圖像4
USETYPE SMALLINT NULL , --指紋模板的用法,Bit0表示僅作備份不比對,Bit1表示指紋比對時使用低識別門限
CONSTRAINT TEMPLATED PRIMARY KEY (TEMPLATEID)
)
;

--員工排班表
CREATE TABLE USER_OF_RUN (
USERID INT NOT NULL , --員工ID號
NUM_OF_RUN_ID INT not NULL , --班次或輪班ID號
STARTDATE DATETIME not NULL DEFAULT '1900-1-1', --起用班次的日期
ENDDATE DATETIME not NULL DEFAULT '2099-12-31', --結束使用該班次的日期
ISNOTOF_RUN INT NULL DEFAULT 0, --是否輪班
ORDER_RUN INT NULL , --輪班的起始班次
CONSTRAINT USER_ST_NUM PRIMARY KEY (USERID, NUM_OF_RUN_ID, STARTDATE, ENDDATE)
)
;

--員工考勤例外(請假/公出)表
CREATE TABLE USER_SPEDAY (
USERID INT NOT NULL , --員工ID號
STARTSPECDAY DATETIME NOT NULL DEFAULT '1900-1-1', --開始日期
ENDSPECDAY DATETIME NULL DEFAULT '2099-12-31', --結束日期
DATEID SMALLINT not NULL DEFAULT -1, --例外類型,999為公出,-1為注釋
YUANYING VARCHAR (200) NULL , --例外的原因
[DATE] DATETIME NULL , --登記/輸入記錄的時間
CONSTRAINT USER_SEP PRIMARY KEY (USERID, STARTSPECDAY, DATEID)
)
;

--員工臨時排班表
CREATE TABLE USER_TEMP_SCH (
USERID INT not NULL , --員工ID號
COMETIME DATETIME not NULL , --上班時間
LEAVETIME DATETIME not NULL , --下班時間
OVERTIME INT not NULL DEFAULT 0, --該時段中計算加班的時間
[TYPE] SMALLINT NULL DEFAULT 0, --類型
FLAG SMALLINT NULL DEFAULT 1, --標志
SCHCLASSID INT NULL DEFAULT -1, --該時段所屬時段類別ID號,-1表示自動判別
CONSTRAINT USER_TEMP PRIMARY KEY (USERID, COMETIME, LEAVETIME)

)
;

--員工信息表
CREATE TABLE USERINFO (
USERID INT IDENTITY(1,1) NOT NULL , --員工ID號
BADGENUMBER VARCHAR (12) NOT NULL , --考勤號碼
SSN VARCHAR (20) NULL , --身份證/證件號
NAME VARCHAR (20) NULL , --姓名
GENDER VARCHAR (2) NULL , --性別
TITLE VARCHAR (20) NULL , --職務
PAGER VARCHAR (20) NULL , --行動電話/傳呼機
BIRTHDAY DATETIME NULL , --生日
HIREDDAY DATETIME NULL , --參加工作日期
STREET VARCHAR (40) NULL , --家庭地址
CITY VARCHAR (2) NULL , --市代碼
STATE VARCHAR (2) NULL , --省代碼
ZIP VARCHAR (12) NULL , --郵編
OPHONE VARCHAR (20) NULL , --辦公電話
FPHONE VARCHAR (20) NULL , --家庭電話
VERIFICATIONMETHOD SMALLINT NULL , --驗證方式
DEFAULTDEPTID SMALLINT NULL DEFAULT 1, --所屬部門ID號
SECURITYFLAGS SMALLINT NULL , --管理員標志
ATT SMALLINT NOT NULL DEFAULT 1, --考勤有效
INLATE SMALLINT NOT NULL DEFAULT 1, --計遲到
OUTEARLY SMALLINT NOT NULL DEFAULT 1, --計早退
OVERTIME SMALLINT NOT NULL DEFAULT 1, --計加班
SEP SMALLINT NOT NULL DEFAULT 1, --
HOLIDAY SMALLINT NOT NULL DEFAULT 1, --假日休息
MINZU VARCHAR (8) NULL , --民族
[PASSWORD] VARCHAR (20) NULL , --口令
LUNCHDURATION SMALLINT NOT NULL DEFAULT 1, --有午休
MVerifyPass VARCHAR(10) NULL, --考勤驗證密碼
PHOTO Image NULL, --照片
CONSTRAINT USERIDS PRIMARY KEY (USERID)
)
;

CREATE UNIQUE INDEX USERFINGER ON TEMPLATE(USERID, FINGERID)
;

CREATE UNIQUE INDEX HOLIDAYNAME ON HOLIDAYS(HOLIDAYNAME)
;

CREATE INDEX DEPTNAME ON DEPARTMENTS(DEPTNAME)
;

CREATE UNIQUE INDEX EXCNOTE ON EXCNOTES(USERID, ATTDATE)
;

CREATE UNIQUE INDEX BADGENUMBER ON USERINFO(BADGENUMBER)
;

INSERT INTO DEPARTMENTS (DEPTNAME, SUPDEPTID) VALUES('總公司',0)
;

--假類表
Create Table LeaveClass(
LeaveId INT Identity(1,1) not null primary key, --假類ID號
LeaveName VARCHAR(20) not null, --假類名稱
MinUnit float not null default 1, --最小統計單位
Unit smallint not null default 1, --統計單位
RemaindProc smallint not null default 1, --舍入控制
RemaindCount smallint not null default 1, --統計時累計
ReportSymbol varchar(4) not null default '-', --報表中的表示符號
Dect float not null default 0, --
Color int not null default 0, --顯示顏色
Classify SMALLINT NOT null default 0) --計算類別,~bit7-是否計算為請假
;

--統計項目表
Create Table LeaveClass1(
LeaveId INT Identity(999,1) not null primary key, --999-公出
LeaveName VARCHAR(20) not null,
MinUnit float not null default 1,
Unit smallint not null default 0,
RemaindProc smallint not null default 2,
RemaindCount smallint not null default 1,
ReportSymbol varchar(4) not null default '_',
Dect float not null default 0,
LeaveType SMALLINT not null default 0, --bit0-是否統計項;bit1-是否異常情況項;
Color int not null default 0,
Classify SMALLINT not null default 0, --計算類別,bit0-按班次時段分類;bit1-按節假日分類
Calc text null) --計算單位
;

--班次時段類別設置表
CREATE TABLE SchClass(
schClassid INT identity(1,1) NOT NULL PRIMARY KEY, --時段類別ID號
schName VARCHAR(20) NOT null, --時段類別名稱
StartTime datetime NOT NULL, --起始時間
EndTime datetime NOT NULL, --結束時間
LateMinutes int null, --計遲到分鍾數
EarlyMinutes int null, --計早退分鍾數
CheckIn int null default 1, --該時段上班需要簽到
CheckOut int null default 1, --該時段下班需要簽退
CheckInTime1 datetime NULL, --開始簽到時間
CheckInTime2 datetime NULL, --結束簽到時間
CheckOutTime1 datetime NULL, --開始簽退時間
CheckOutTime2 datetime NULL, --結束簽退時間
Color Int NULL default 16715535, --表示顏色
AutoBind SMALLINT NULL DEFAULT 1) --
;

--系統參數表
Create Table AttParam(
PARANAME VARCHAR (20) NOT NULL Primary key,
PARATYPE VARCHAR (2) NULL ,
PARAVALUE VARCHAR(100) NOT NULL)
;
insert into LeaveClass(LeaveName, Unit, ReportSymbol, Color)
values('病假', 1, 'B', 3398744);
insert into LeaveClass(LeaveName, Unit, ReportSymbol, Color)
values('事假', 1, 'S', 8421631);
insert into LeaveClass(LeaveName, Unit, ReportSymbol, Color)
values('探親假', 1, 'T', 16744576);
insert into LeaveClass1(LeaveName, MinUnit, Unit, RemaindProc,
RemaindCount, ReportSymbol, LeaveType, Calc)
values('公出', 0.5, 3, 1, 1, 'G', 3, 'if(AttItem(LeaveType1)=999,AttItem(LeaveTime1),0)+if(AttItem(LeaveType2)=999,AttItem(LeaveTime2),0)+if(AttItem(LeaveType3)=999,AttItem(LeaveTime3),0)+if(AttItem(LeaveType4)=999,AttItem(LeaveTime4),0)+if(AttItem(LeaveType5)=999,AttItem(LeaveTime5),0)');
insert into LeaveClass1(LeaveName, MinUnit, Unit, RemaindProc,
RemaindCount, ReportSymbol, LeaveType)
values('正常', 0.5, 3, 1, 0, ' ', 3);
insert into LeaveClass1(LeaveName, MinUnit, Unit, RemaindProc,
RemaindCount, ReportSymbol, LeaveType, Calc)
values('遲到', 10, 2, 2, 1, '>', 3, 'AttItem(minLater)');
insert into LeaveClass1(LeaveName, MinUnit, Unit, RemaindProc,
RemaindCount, ReportSymbol, LeaveType, Calc)
values('早退', 10, 2, 2, 1, '<', 3, 'AttItem(minEarly)');
insert into LeaveClass1(LeaveName, MinUnit, Unit, RemaindProc,
RemaindCount, ReportSymbol, LeaveType, Calc)
values('請假', 1, 1, 1, 1, '假', 3,
'if((AttItem(LeaveType1)>0) and (AttItem(LeaveType1)<999),AttItem(LeaveTime1),0)+if((AttItem(LeaveType2)>0) and (AttItem(LeaveType2)<999),AttItem(LeaveTime2),0)+if((AttItem(LeaveType3)>0) and (AttItem(LeaveType3)<999),AttItem(LeaveTime3),0)+if((AttItem(LeaveType4)>0) and (AttItem(LeaveType4)<999),AttItem(LeaveTime4),0)+if((AttItem(LeaveType5)>0) and (AttItem(LeaveType5)<999),AttItem(LeaveTime5),0)');
insert into LeaveClass1(LeaveName, MinUnit, Unit, RemaindProc,
RemaindCount, ReportSymbol, LeaveType, Calc)
values('曠工', 0.5, 3, 1, 0, '曠', 3, 'AttItem(MinAbsent)');
insert into LeaveClass1(LeaveName, MinUnit, Unit, RemaindProc,
RemaindCount, ReportSymbol, LeaveType, Calc)
values('加班', 1, 1, 1, 1, '+', 3, 'AttItem(MinOverTime)');
insert into LeaveClass1(LeaveName, MinUnit, Unit, RemaindProc,
RemaindCount, ReportSymbol, LeaveType, Calc)
values('節日加班', 1, 1, 0, 1, '=', 0, 'if(HolidayId(1)=1, AttItem(MinOverTime),0)');
insert into LeaveClass1(LeaveName, MinUnit, Unit, RemaindProc,
RemaindCount, ReportSymbol, LeaveType)
values('休息日', 0.5, 3, 2, 1, '-', 2);
insert into LeaveClass1(LeaveName, MinUnit, Unit, RemaindProc,
RemaindCount, ReportSymbol, LeaveType, Calc)
values('未簽到', 1, 4, 2, 1, '[', 2,
'If(AttItem(CheckIn)=null,If(AttItem(OnDuty)=null,0,if(((AttItem(LeaveStart1)=null) or (AttItem(LeaveStart1)>AttItem(OnDuty))) and AttItem(DutyOn),1,0)),0)');
insert into LeaveClass1(LeaveName, MinUnit, Unit, RemaindProc,
RemaindCount, ReportSymbol, LeaveType, Calc)
values('未簽退', 1, 4, 2, 1, ']', 2,
'If(AttItem(CheckOut)=null,If(AttItem(OffDuty)=null,0,if((AttItem(LeaveEnd1)=null) or (AttItem(LeaveEnd1)<AttItem(OffDuty)),if((AttItem(LeaveEnd2)=null) or (AttItem(LeaveEnd2)<AttItem(OffDuty)),if(((AttItem(LeaveEnd3)=null) or (AttItem(LeaveEnd3)<AttItem(OffDuty))) and AttItem(DutyOff),1,0),0),0)),0)');
insert into LeaveClass1(LeaveName, MinUnit, Unit, RemaindProc,
RemaindCount, ReportSymbol, LeaveType)
values('離崗未簽到', 1, 4, 2, 1, '{', 6);
insert into LeaveClass1(LeaveName, MinUnit, Unit, RemaindProc,
RemaindCount, ReportSymbol, LeaveType)
values('離崗未簽退', 1, 4, 2, 1, '}', 6);
insert into LeaveClass1(LeaveName, MinUnit, Unit, RemaindProc,
RemaindCount, ReportSymbol, LeaveType)
values('離崗', 1, 1, 2, 1, 'L', 3);

insert into AttParam(ParaName,ParaValue) values('MinsEarly',5);
insert into AttParam(ParaName,ParaValue) values('MinsLate',10);
insert into AttParam(ParaName,ParaValue) values('MinsNoBreakIn',60);
insert into AttParam(ParaName,ParaValue) values('MinsNoBreakOut',60);
insert into AttParam(ParaName,ParaValue) values('MinsNoIn',60);
insert into AttParam(ParaName,ParaValue) values('MinsNoLeave',60);
insert into AttParam(ParaName,ParaValue) values('MinsNotOverTime',60);
insert into AttParam(ParaName,ParaValue) values('MinsWorkDay',420);
insert into AttParam(ParaName,ParaValue) values('NoBreakIn',1012);
insert into AttParam(ParaName,ParaValue) values('NoBreakOut',1012);
insert into AttParam(ParaName,ParaValue) values('NoIn',1001);
insert into AttParam(ParaName,ParaValue) values('NoLeave',1002);
insert into AttParam(ParaName,ParaValue) values('OutOverTime',0);
insert into AttParam(ParaName,ParaValue) values('TwoDay',0);
insert into AttParam(ParaName,ParaValue) values('CheckInColor',16777151);
insert into AttParam(ParaName,ParaValue) values('CheckOutColor',12910591);
insert into AttParam(ParaName,ParaValue) values('DBVersion',167);

B. sql排序方式要根據另一個表的某個欄位排序怎麼實現

可以通過兩個表的關系,然後通過欄位關聯的形式排序。
sql:select t1.* from tablename1 t1, tablename2 t2 wehere t1.id=t2.id order by t2.name;
解釋:實際上上面語句會通過 tablename2表的name欄位先排序表tablename2數據,之後會通過id欄位關聯後,讀取出id存在於tablename2表中存在的tablename1表的數據。

備註:上面表中的id欄位的值肯定有相同的,如tablename1和 tablename2 表中id欄位都存在值「1」,才可以有結果輸出。如果兩個表都沒關聯的話,無法實現。

C. 寫SQL語句

以下答案准確無誤:
(1) 在學生情況表中插入一條記錄,其中學號、姓名、性別、聯系方式各欄位對應的值分別是」2001203」,」劉麗麗」,」女」,」89561231」。
insert into 學生情況表(學號,姓名,性別,聯系方式) select '2001203','劉麗麗','女','89561231'
(2) 將學生情況表中劉麗麗的聯系納槐方式修改為84135464。
update 學生情況表 set 聯系方式='84135464' where 姓名='劉麗麗'
(3) 從學生情況表中刪除學生劉麗麗的記錄。
delete from 學生情況表 where 姓名='劉麗麗'
(4) 查詢學生情況表中的所有數據。
select * from 學生情況表
(5) 從學生情況表中查詢所有學生的學號、姓名、聯系方式。
select 學號,姓名,聯系方式洞嘩友 from 學生情況表
(6) 查詢學生情況表中的前10條記錄,記錄按照姓名升序排列。
select top 10 from 學生情況表 order by 姓名
(7) 查詢1985年出生的姓李的同學的姓名。
select * from 學生情況表 where 出生日期='1985' and 姓名 like '李%'
(8) 從學生情況表中查詢計算機1班的所有男同學的記錄。
select * from 學生情況表 where 班級='計算機1班' and 性別='男'
(9) 查詢學生情況表中計算機1班和計算機2班的所有同學的記錄。
select * from 學生情況表 where 班級='計算機1班' or 班級='計算機2班'
(10) 查詢選修了課程的計算機1班的所有同學的姓名。
select * from 學生情況表 where 班級='計算機1班' and exists(select 1 from 學生選課表 where 學號=學生情況表.學號)
(11) 分別從學生情況蘆咐表、課程情況表和學生選課表中查詢學生的姓名、課程名和成績,注意表之間的聯系。
select a.姓名,c.課程名,b.成績 from 學生情況表 a ,學生選課表 b,課程情況表 c
where a.學號=b.學號 and b.課程號=c.課程號
(12) 統計學生情況表中的學生人數。
select count(*) from 學生情況表

D. mySql輪詢排序,如圖,排值班表,如何使用sql語句實現排序

select * from
(select t1.id-t2.min_id+1 as new_id,t1.name,t1.other
from pai_ban_biao t1
inner join (select min(id) as min_id,name from pai_ban_biao group by name )t2
on t1.name=t2.name
)t3
order by t3.new_id,t3.other

E. sql語句時間排序 sql語句按照時間排序

SQL按時間排序

select * from MyTable Order By ModifyTime Desc

按修改的時間倒序排列

如果是知道最後一次是某天,加上條件

select * from MyTable Where DateDiff(day,ModifyTime,GetDate)=0 Order By ModifyTime Desc

sql 排序,order by 按時間

sql排序是指定時間欄位才能按照時間排序,asc默認升序,desc默認降序。

ORDER BY 語句

ORDER BY 語句用於根據指定的列對結果集進行排序。

ORDER BY 語句默認按照升序對記錄進行排序。

如果您希望按照降序對記錄進行排序,可以使用 DESC 關鍵字。

比如要排序:

select date from tablename order by date desc

按date降序排列。

SQL語句怎麼寫?先按時間排序,再按姓名排序?

將欄位依次寫在order by 後面即可 , 中間用逗號隔開

select * from 表 order by time , name

select * from 表 order by time asc , name asc

select * from 表 order by time desc , name desc

select * from 表 order by time asc , name desc

select * from 表 order by time desc , name asc

(注: asc 表示升序 , desc表示降序 , 未明確寫明排序方式時默認是升序 )

與之類似的語法是 group by , 按多個欄位分組時 , 也是依次將多個欄位寫在group by 的後面 , 並用逗號隔開 , 範例如下:

select time , name , sum(*) from 表 group by time , name

怎樣用SQL語句 按日期進行從高到低進行排序

用SQL語句按日期進行從高到低進行排序:select * from tmp order by time desc;

結構化查詢語言(英文簡稱:SQL)是一種特殊目的的編程語言,是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統;同時也是資料庫腳本文件的擴展名。

結構化查詢語言是高級的非過程化編程語言,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同 資料庫系統,,可以使用相同的結構化查詢語言作為數據輸入與管理的介面。結構化查詢語言語句可以嵌套,這使它具有極大的靈活性和強大的功能。

標簽:作文經典 上一篇:帶苦乾的詞語 形容苦乾的詞語 下一篇:快板台詞護士誇贊美 誇贊幼兒園快板台詞

sql語句的根據日期排序問題!

這個問題的原因是你的time 不是datetime 應該是varchar型.

改成這個.

sql="select id,title,content,class,img,time from info order by cast(time as datetime) desc"

就行了

怎樣用SQL語句 按日期進行從高到低進行排序呢~~

就是對日期進行倒排序

select * from tableName -- 假設你的表的名字是tableNameorder by dtcol desc; -- 假設你的日期欄位名是 dtcol; desc表示倒排序

sql語句:請問下面這sql怎麼往上加排序(降序)以時間為降序?

你這樣查詢出來就一個 符合你條件的記錄數

沒辦法排序啊?

如果打算按時間排序就別查個數了。。

select refund_id,addtime from refund where refund_audit=1 and f_user_uid ='" + userid + "'

order by addtime desc

//按時間倒敘

sql語句怎麼按照欄位1排序後再在本欄位內按時間排序

ORDER BY 後面可以寫多個

比如

ORDER BY Gender ASC, Age DESC, Name ASC

按照性別升序排列, 性別相同的按照年齡降序排列, 年齡再相同的按照姓名升序排列

SQL語句排序的問題

升序是 ASC,降序是 DESC

select * FROM a ORDER BY 錠 ASC,n DESC

sql 日期正序 時間倒序

這個問題,因為你日期和具體時間分別在兩列上,因此,是可以採用sql實現的。

SQL中增加order by語句如下:

ORDER BY 日期, 時間 DESC

如果你的這兩個列有些特殊性,或者兩個列沒有分開,可以單獨聯系,我幫你解決(相對來說復雜點)

標簽:作文經典 上一篇:帶苦乾的詞語 形容苦乾的詞語 下一篇:快板台詞護士誇贊美 誇贊幼兒園快板台詞

F. SQL中如何實現 自動更新排序

我提供一個方法

select id int identity(1,1)) , 列一 from 表 into #T;
update 表 set 表.列二 = (select id from #T where #T.列一 = 表.列一 );
dop table #T;