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

获取MYSQL查询中的行位置[重复]

陶博耘
2023-03-14
问题内容

这个问题已经在这里有了答案

8年前关闭。

可能重复:
MySQL中的ROW_NUMBER()

这可能吗?我想按特定的顺序获取一堆结果,然后通过其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

从这个答案>>
ROW_NUMBER()在MySQL中修改



 类似资料:
  • 问题内容: 这可能吗?我想以特定的顺序获取一堆结果,然后通过其ID找出行的位置,例如: 我想按字母顺序获得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 na

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

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

  • 问题内容: 范例: 在此表中,我需要获得Empid 1作为输出。因为它的bookid 8不止一次。 提前致谢.. 问题答案: 您可以使用: 但这会给您重复的内容。例如,如果您有1-8,1-8,1-9,1-9,则会得到1,1的输出,因为Empid 1具有两个不同bookid值的重复bookid。您将需要使用来过滤出重复的Empid。

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

  • 我找不到在laravel mysql中显示集合随机结果的方法。我的问题是: 奇怪的是,我相信使用兰德可以完成这项工作,但我的结果显示使用与否(兰德)值相同。 谢谢你的帮助。