Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MYSQL中应用双条件_Mysql_Case When_Dbvisualizer - Fatal编程技术网

在MYSQL中应用双条件

在MYSQL中应用双条件,mysql,case-when,dbvisualizer,Mysql,Case When,Dbvisualizer,(问题编辑)我的表格有id、状态、日期、顺序 情况:获取满足以下条件的ID: 日期是最大值,不超过今天的,状态是最大值 如果超过1个状态具有相同的日期,则仅当其具有max序列 我正在dbvisualizer中编写MYSQL 编辑:尝试使用查询: 从中选择id、max(日期)、max(顺序) 桌子 哪里 表.日期从中选择id 桌子 哪里 表.日期从中选择id、最大值(日期)、最大值(顺序) 桌子 哪里 table.datePost您尝试过的内容,而不是发布要求。投票关闭。谢谢@Lelionow

(问题编辑)我的表格有id、状态、日期、顺序

情况:获取满足以下条件的ID:

  • 日期
    是最大值,不超过今天的
    状态
    是最大值
  • 如果超过1个状态具有相同的
    日期
    ,则仅当其具有max
    序列
我正在
dbvisualizer
中编写
MYSQL

编辑:尝试使用查询:

从中选择id、max(日期)、max(顺序)
桌子
哪里
表.日期<代码>从中选择id
桌子
哪里
表.日期<代码>从中选择id、最大值(日期)、最大值(顺序)
桌子
哪里

table.datePost您尝试过的内容,而不是发布要求。投票关闭。谢谢@Lelio
now()
limit
不受支持(dbvisualizer 6.5.1),我猜您的查询会将结果限制为一条记录。Rest看起来很有希望。不确定是否正确还需要在
id
group by
,使用
max
(聚合函数)ehm。。。这不是您使用的工具的问题。语法与您正在使用的db引擎相关。mysql支持now()和limit,它们是基本功能。无论如何,您可以跳过“限制1”部分,将日期作为参数传递,而不是使用nowGroup\u by来返回多行(在您的情况下,每个项目\u id对应一行)对于像max.这样的聚合函数,如果没有sqlfiddle或确切的表和数据结构,我可以给您一些关于如何获取点的提示Getting error
id在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中
select id from 
table
where
table.date<now() and table.status='A'
order by date desc,sequence desc
limit 1;
select id, max(date), max(sequence) from 
table
where
table.date<=now() and status='A'
order by date desc,sequence desc
group_by id;