Mysql 查询仅根据第一行的列返回行

标签 mysql

抱歉,标题很难用一行解释,但我正在执行一个查询,该查询可以根据第一行的结果获取所有行 - 一个示例将解释:

表格看起来像这样

id | name | week
1     x      2
2     y      2
3     z      3

所以基本上在不知道第一个 week 值的情况下,我只想要 week = 2 的那些行。换句话说,如果下次运行,第一个结果是 week: 3,那么我只想要 week = 3 的行。

这完全取决于行的正确排序 - 但这不是这样做的目的。

我考虑过在两个查询中执行此操作,因为这是在某个 php 应用程序中,第一个查询是在其中

select week from table limit 1

因此,现在我们知道了week值,可以简单地

select id, name, week from table where week = '2'

但我认为有一种更智能的方法可以在一个查询中完成此操作,只是不确定该 sql 函数可能是什么样子。

希望这是有道理的。

最佳答案

从你的步骤和思考出发,你可以做到

SELECT * FROM table WHERE week = (SELECT week FROM table LIMIT 1)

以上应该可以正常工作(除非我误解了这个问题)。

关于Mysql 查询仅根据第一行的列返回行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51910096/

相关文章:

mysql - 尝试将数据插入 MySQL 时出现 "You have an error in your SQL syntax"

mysql - 如何使用 sequelize 用外键值填充表?

php - 尝试使用 SQL 值通过电子邮件发送在 PHP 中创建的表

mysql - 如何用算术处理这个嵌套的选择查询?

mysql - 使用多个表删除并在子查询中重复表

mysql联合查询,每个联合上都有单独的别名

mysql - 如何使用struts同步java web应用程序中的 Action 流?

mysql - SQL - 更新表中的多行

mysql - 我不明白的数据模型 n<->n 关系

php - 根据数组中的顺序获取Mysql数据