抱歉,标题很难用一行解释,但我正在执行一个查询,该查询可以根据第一行的结果获取所有行 - 一个示例将解释:
表格看起来像这样
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/