请教一个查询
程序员文章站
2024-01-08 17:38:23
...
表里有三个字段 id,create_at,status 【id 为编号,自增 ,create_at 为创建时间 ,status 为状态】
我想做的是 先按 状态升序排序, 当状态值为 2 时,按create_at 降序,状态值为 3 时按create_at 升序。
网上搜索 过,看到了case when 的写法。 自己尝试过,没整出来,还请各位高手帮忙,非常感谢。
那么问题来了,究竟是怎么写叱?
那么问题来了,究竟是怎么写叱?
就是拼接where条件
那么问题来了,究竟是怎么写叱?
就是拼接where条件
一 非常感谢你。
二 希望你以后在帮助人的时候,可以给出更具体方法。 我自己感觉这个例子,字段已准备得足够简单的。
谈处理方法 ,我自己也了解一些,有时候,就是一些语法,等q/a 问题卡住了,希望有更直接的帮助。
三 刚才自己把这个问题给折腾出来了。我是这样解决的。
SELECT * FROM table_name
ORDER BY STATUS ASC, CASE STATUS WHEN 2 THEN create_at ELSE -create_at END DESC;
非常感谢 ,很有收获。
我想做的是 先按 状态升序排序, 当状态值为 2 时,按create_at 降序,状态值为 3 时按create_at 升序。
网上搜索 过,看到了case when 的写法。 自己尝试过,没整出来,还请各位高手帮忙,非常感谢。
回复讨论(解决方案)
可以把查询的order 写成一个变量 根据status去给order 赋值
可以把查询的order 写成一个变量 根据status去给order 赋值
那么问题来了,究竟是怎么写叱?
可以把查询的order 写成一个变量 根据status去给order 赋值
那么问题来了,究竟是怎么写叱?
就是拼接where条件
可以把查询的order 写成一个变量 根据status去给order 赋值
那么问题来了,究竟是怎么写叱?
就是拼接where条件
一 非常感谢你。
二 希望你以后在帮助人的时候,可以给出更具体方法。 我自己感觉这个例子,字段已准备得足够简单的。
谈处理方法 ,我自己也了解一些,有时候,就是一些语法,等q/a 问题卡住了,希望有更直接的帮助。
三 刚才自己把这个问题给折腾出来了。我是这样解决的。
SELECT * FROM table_name
ORDER BY STATUS ASC, CASE STATUS WHEN 2 THEN create_at ELSE -create_at END DESC;
.... order by status, case when status=2 then create_at end desc, case when status=3 then create_at end
我喜欢这样写
.... order by status, if(status=2,create_at,‘’) desc, if(status=3,create_at,‘’)
.... order by status, case when status=2 then create_at end desc, case when status=3 then create_at end
我喜欢这样写
.... order by status, if(status=2,create_at,‘’) desc, if(status=3,create_at,‘’)
非常感谢 ,很有收获。
下一篇: CCI 9.2 机器人移动路径
推荐阅读
-
mysql-请问一条MYSQL语句直接查询2个表的数据应该怎么写?
-
请教用php怎么实现 当别人浏览小弟我的信息时,小弟我的电脑出现提示?谢谢
-
JS+CSS实现一个气泡提示框_javascript技巧
-
请教大家都用什么PHP开发工具
-
用Python程序抓取网页的HTML信息的一个小实例
-
exshow95.exe是什么进程 exshow95进程信息查询
-
fsdfwd.exe是什么进程 有什么用 fsdfwd进程查询
-
fsg_3202.exe是什么进程 有什么用处 fsg_3202进程查询
-
explorere.exe进程安全吗 是病毒吗 explorere进程查询
-
fsg.exe是什么进程 作用是什么 fsg进程查询