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

选择MySQL中的每隔一行而不依赖于任何ID?

邬朗
2023-03-14
问题内容

考虑到下表没有任何主键,我可以选择其他所有行吗?

col1      col2
 2         a
 1         b
 3         c
 12        g

首先选择必须找到: 2,3

第二选择必须找到: 1、12

那可能吗?


问题答案:

以独特的MySQL方式:

select  *
from    (
        select  *
        ,       @rn := @rn + 1 as rn
        from    Table1
        join    (select @rn := 0) i
        ) s
where   rn mod 2 = 0 -- Use = 1 for the other set

SQL Fiddle中的示例。



 类似资料:
  • 问题内容: 在C#中将是这样的: Linq-To-Sql将其转换为以下T-SQL代码: 但是它与MySQL不兼容。 问题答案: 当我写 有用。在其他RDBMS中,IIRC这样的语句是不可能的,因为不属于任何组合键的不属于分组键的列就被引用了。 这种“怪癖”的行为与我想要的行为非常接近。所以我用它来获得想要的结果:

  • 问题内容: 我已阅读这篇文章:http : //www.xaprb.com/blog/2006/12/07/how- to-select-the-firstleastmax-row-per-group-in- sql/ 并搜索其他问题 我有一个像这样的表: 我正在尝试获取按user.id分组的table.id的计数,如果user.id的计数大于7,则仅将结果显示为7(也就是将计数结果限制为7)。

  • 问题内容: 我在数据库中有一系列值需要提取以创建折线图。因为我不需要高分辨率,所以我想通过从数据库中选择第5行来对数据进行重新采样。 问题答案:

  • 我需要运行一个select语句,返回列值不明显的所有行(例如EmailAddress)。 例如,如果该表如下所示: 我需要查询返回: 我看了很多帖子,尝试了不同的查询,但都无济于事。我认为应该工作的查询如下。有人能建议一个替代方案或者告诉我我的查询可能有什么问题吗?

  • 问题内容: 如何在MySQL表中最后一行? 我正在读取数据,我需要从上一行中检索列值。 桌子上有一个。 问题答案: 是的,那里有一个auto_increment 如果您想要表中 所有行 的最后 一行 ,那么最后就是正确答案的时候了!有点儿:

  • 问题内容: 我目前有一些带回标签的sql。它们应该具有不同的ID,但没有。…所以我当前的数据如下: 我想做的是只返回一行,最后一列连接到分隔列表中,例如: 我为此使用mySQL 5。 问题答案: 使用此,具有覆盖其他三列: