欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql分組后為每組生成序列號

錢浩然2年前8瀏覽0評論

在mysql中,若要為每個分組生成序列號,可以使用用戶變量來實現。

SELECT 
@rownum := IF(@prev = column_to_group, @rownum + 1, 1) AS rank,
column_to_group,
other_columns
FROM 
table_name, 
(SELECT @rownum := 0, @prev := NULL) r
ORDER BY 
column_to_group, 
other_columns;

以上SQL語句中,@rownum和@prev都是用戶變量。首先在子查詢中對這兩個變量進行初始化,@rownum用于記錄序列號,@prev用于記錄上一次分組的列值。在主查詢中,先對@rownum進行判斷,若分組列值與上一次分組相同,則@rownum加1,否則重置為1。最后將這些變量以及其他需要的列都查詢出來,按照分組列值和其他列排序。

通過這種方式,就可以為每個分組生成序列號了,方便我們進行數據分析和統計。