当前位置: 首页 > 面试题库 >

获取MYSQL查询中的行位置

柯苗宣
2023-03-14
问题内容

这可能吗?我想以特定的顺序获取一堆结果,然后通过其ID找出行的位置,例如:

1, foo
2, bar
3, foobar

我想按字母顺序获得1的位置,它将返回2


问题答案:

SELECT id, name, rank FROM
(
SELECT t.id, t.name,
@rownum := @rownum + 1 AS rank
FROM TABLE t, (SELECT @rownum := 0) r
ORDER BY name ASC
) selection WHERE id=1




 类似资料:
  • 问题内容: 这个问题已经在这里有了答案 : 8年前关闭。 可能重复: MySQL中的ROW_NUMBER() 这可能吗?我想按特定的顺序获取一堆结果,然后通过其ID找出行的位置,例如: 我想按字母顺序获得1的位置,它将返回2 问题答案: 从这个答案>> ROW_NUMBER()在MySQL中修改

  • 问题内容: 我想将所有mysql表的col名称放入php数组中吗? 是否对此有疑问? 问题答案: 最好的方法是使用INFORMATION_SCHEMA元数据虚拟数据库。特别是INFORMATION_SCHEMA.COLUMNS表… 它非常强大,可以为您提供大量信息,而无需解析文本(例如列类型,列是否可为空,最大列大小,字符集等)… 哦,这是标准的SQL(这是MySQL的特定扩展名)… 有关表之间的

  • 问题内容: 此查询有什么问题: 它不带子句就可以工作。我似乎忘记了我的SQL。 问题答案: MySQL INSERT语法不支持WHERE子句,因此您的查询将失败。假设您的列是唯一键或主键: 如果您要插入ID为1的新行,则应使用: 如果您尝试更改ID为1的现有行的weight / desiredWeight值,则应使用: 如果需要,还可以使用INSERT .. ON DUPLICATE KEY语法,

  • 问题内容: 我有一个供用户使用的表,该表具有一个名为“ created”的字段,该字段具有注册日期。 如何获得包含过去12个月每月注册数量计数的列表?像这样: 我不习惯使用mysql,所以直到现在,我只知道如何计算去年的注册数量,而不是如何按最近12个月的数量进行分组。提前致谢! 更新 现在,我使用@fthiella解决方案来得到这个: 我如何强制查询给我计数为0的月份? @fthiella解决方

  • 我有一个由3列组成的表格。 user_id,certificate_type,approved 每个user_id可以有多行,每行的certificate_type介于1和30之间。 我要做的是用一组不同的证书类型搜索表,并生成一个与组合匹配的所有user_id的列表。如果行已批准=1,我只想要一个结果。 我可以想出非常复杂的方法来进行多个搜索,但我怀疑在SQL中有一个简单的查询,因为我不相信我正

  • 问题内容: 我正在使用内部联接从2个表中查询一些数据。 这是查询, 现在,我只想要每个user_id的第一行。 像这样, 我应该为此使用什么查询? 问题答案: 这应该可以解决问题: