sql - 这条sql语句是做什么的? (mysql)

标签 sql mysql

SET @row := 0;
SELECT * FROM (
SELECT @row := @row+1 AS rank, account_id, keyword, bid_amount ,timestamp
FROM bids WHERE keyword='programmers'
ORDER BY bid_amount DESC, timestamp ASC
) AS derived_table; 

我在某处看到了这个,我想知道该集合与 @ 符号和 := 一起做什么

谢谢

最佳答案

它正在创建一个行号列。

@row 是一个整型变量。 := 设置每行的变量,采用上一行的值 @row。因此,您会得到一个很好的递增列,它告诉您所在的数字行。

关于sql - 这条sql语句是做什么的? (mysql),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1225459/

相关文章:

sql - 将XML节点值分成SQL中的单独行

java - 可以批量sql查询吗?

java - 准备好的语句失败(带有错误消息!)

sql - 尝试在 Ubuntu 19.04 上安装 Oracle Database 19c

php - mysqli_insert_id 是否有可能在高流量应用程序中返回错误的 id?

mysql - [MySQL] : Is there a more 'efficient' way to link these tables?

mysql - 在 MySQL 中使用 BETWEEN 范围是否有无穷大或通配符?

mysql sum 与结果不匹配

php - 从逗号分隔的字符串中删除重复项并计算字符串总数

php - 计算属于MYSQL中某个上层树的多级类别树中的项目