1、在mysql數據庫可以執行的sql
SELECT( @i := @i + 1 ) num,M.*
FROMuser M,( SELECT @i := 0 ) AS ID
GROUP BYM.ID
ORDER BYM.create_time
SELECT (@i :=@i + 1)??是為了生成自增的序列號字段
SELECT @i := 0?是為了將i進行初始化每次查詢的序列號都會從1開始進行排序生成序列號
?在mysql中執行的結果:
2、在postgresql數據庫可以執行的sql
SELECT ROW_NUMBER() OVER (ORDER BY create_time) AS two_num,id AS two_id,factory_area AS two_factory_area,enter_date AS two_enter_date,classes AS two_classes,teams AS two_teams,enter_car_no AS two_enter_car_no,enter_time AS two_enter_time,stop_time AS two_stop_time,mineral_num AS two_mineral_num,unit AS two_unit,blocked_up AS two_blocked_up,loading AS two_loading,remark AS two_remark
FROMdispatch_enter_soil_record
WHEREdel_flag = '0'and factory_area = 'qt_two'and enter_date = '2023-11-17'and classes = '1'and teams = '4'
order by create_time
在postgresql中執行的結果:
row_number() 函數
row_number()
?函數返回當前行所在的分區內的序號,從 1 開始。
?語法
row_number()
OVER ([PARTITION BY partition_column_list][ORDER BY order_column_list]
)
partition_column_list?
參與分區的列的列表。
order_column_list?
參與排序的列的列表。