gpt4 book ai didi

mysql - 先按最近 3 个月排序,然后按字母顺序排序

转载 作者:行者123 更新时间:2023-11-29 01:45:15 25 4
gpt4 key购买 nike

有人要求我在网站上订购产品,首先显示过去 3 个月内的任何产品(从最近的开始),然后按字母顺序显示其余产品。目前该站点是按类编写的,目前产品按添加日期排序。为了尽量减少工作量,我想知道以上是否可以在一个 sql 查询中完成?我认为它需要 2 个单独的查询,但我不是 sql 专家,所以想知道是否可以这样做?

问候

菲尔

编辑

SELECT pr.id, pr.name AS prod_name, pr.eye_size, pr.bridge_size, pr.opt_size, pr.price, pr.range_id, pr.date_added, ra.name AS range_name
FROM oa_product AS pr, oa_brand AS br, oa_range AS ra
WHERE pr.status = 'Launched'
AND pr.brand_id = br.id
AND br.filename = 'karenmillen'
AND pr.status = 'Launched'
AND pr.range_id = ra.id
AND br.status = 'Active'
ORDER BY
CASE WHEN DATEDIFF( 'm', GETDATE(
), date_added ) <3
THEN date_added
ELSE NULL , prod_name
LIMIT 0 , 6

获取错误 MySQL 服务器版本以在 ' date_added 附近使用正确的语法)<3 THEN date_added ELSE NULL , prod_name LIMIT 0 , 6' 在第 11 行

谁知道为什么?

最佳答案

您可以使用 CASE 语句将所有早于 3 个月的产品日期视为相同。

伪代码(类似于 T-SQL)

SELECT ProductName, ProductDate
FROM Products
ORDER BY
CASE WHEN DATEDIFF ('m', GETDATE(), ProductDate) < 3 THEN ProductDate
ELSE NULL,
ProductName

关于mysql - 先按最近 3 个月排序,然后按字母顺序排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8601162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com