Enums “我该怎么做?”;“订购”;不止是在专栏上?

Enums “我该怎么做?”;“订购”;不止是在专栏上?,enums,sql-order-by,Enums,Sql Order By,这是我的疑问: SELECT count(oi.id) imgCnt, o.*, IF(pricet=2,c.currency_value*o.attributes_36*o.price, c.currency_value*o.price) AS pprice, od.title, oi.image, MIN(oi.id), ( c.currency_value * o.price ) AS fprice, ag.agent_name, DATE_FORMAT( o.date_added,

这是我的疑问:

SELECT count(oi.id) imgCnt, o.*, 
IF(pricet=2,c.currency_value*o.attributes_36*o.price,
c.currency_value*o.price) AS pprice, od.title, oi.image, 
MIN(oi.id), ( c.currency_value * o.price ) AS fprice, 
ag.agent_name, DATE_FORMAT( o.date_added, '%d-%m-%Y') as dadded 
FROM i_offers_12 o 
LEFT JOIN i_agents ag ON o.agents_id = ag.id 
LEFT JOIN i_currencies c ON o.currencies_id = c.id 
LEFT JOIN i_offers_details od ON ( o.id = od.offers_id AND od.languages_id = 1 ) 
LEFT JOIN i_offers_images oi ON ( oi.offers_id = o.id AND oi.o_id = '12' ) 
WHERE ( o.offer_status='active' OR o.offer_status='sold') 
AND actions_id = '1' 
AND c.id = o.currencies_id 
AND o.counties_id = '2' 
AND o.cities_id = '3' 
GROUP BY o.id
ORDER BY dadded
DESC
我想在dadded(日期类型)和
offer\u status
(枚举类型)之后进行排序。
我想首先显示所有具有
报价状态
=“活动”并按
数据排序的元素,然后显示所有具有
报价状态
=“售出”并按数据排序的元素。我该怎么做?thx

我相信您可以使用

ORDER BY offer_status, dadded

你可以用逗号,比如

ORDER BY supplier_city DESC, supplier_state ASC;

要排序的字段必须是select语句的一部分:

  SELECT count(oi.id) imgCnt, o.*, 
    IF(pricet=2,c.currency_value*o.attributes_36*o.price,
    c.currency_value*o.price) AS pprice, od.title, oi.image, 
    MIN(oi.id), ( c.currency_value * o.price ) AS fprice, 
    ag.agent_name, DATE_FORMAT( o.date_added, '%d-%m-%Y') as dadded ,
    offer_status
    FROM i_offers_12 o 
    LEFT JOIN i_agents ag ON o.agents_id = ag.id 
    LEFT JOIN i_currencies c ON o.currencies_id = c.id 
    LEFT JOIN i_offers_details od ON ( o.id = od.offers_id AND od.languages_id = 1 ) 
    LEFT JOIN i_offers_images oi ON ( oi.offers_id = o.id AND oi.o_id = '12' ) 
    WHERE ( o.offer_status='active' OR o.offer_status='sold') 
    AND actions_id = '1' 
    AND c.id = o.currencies_id 
    AND o.counties_id = '2' 
    AND o.cities_id = '3' 
    AND o.offer_status='active' 
    GROUP BY o.id
    ORDER BY offer_status, dadded
    DESC
请注意,通常应按所有非汇总字段(o*)分组, 如果(价格t=2,c.货币价值*o.属性*o.价格, c、 货币价值*o.price)作为许可证,od.title,oi.image,(c.货币价值*o.price)作为fprice, ag.agent名称、日期格式(添加了o.DATE,'%d-%m-%Y')作为数据, 报价(U状态)

MySQL并没有强制执行它,但其他数据库(如Oracle)却执行它