Php Mysql,具体订单由
我有这样的桌子Php Mysql,具体订单由,php,mysql,Php,Mysql,我有这样的桌子 CREATE TABLE IF NOT EXISTS `superTable` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `lotID` bigint(20) NOT NULL, `characterID` bigint(20) NOT NULL, `confirmChoice` varchar(255) DEFAULT NULL, `confirmStatus` varchar(255) DEFAULT NULL,
CREATE TABLE IF NOT EXISTS `superTable` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`lotID` bigint(20) NOT NULL,
`characterID` bigint(20) NOT NULL,
`confirmChoice` varchar(255) DEFAULT NULL,
`confirmStatus` varchar(255) DEFAULT NULL,
`dateCreate` datetime DEFAULT NULL,
`dateStart` datetime DEFAULT NULL,
`dateEnd` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=0 ;
我需要这样的命令
如何在一个查询中完成此操作?如果我正确理解您的需求,这可能是实现此目标的一种方法:
SELECT
*
,CASE
WHEN (`confirmChoice` IS NULL) THEN '1'
WHEN (`confirmChoice` IS NOT NULL AND `dateStart` IS NOT NULL ) THEN '2'
ELSE '3'
END AS sort_order
FROM
`supertable`
WHERE
1
ORDER BY
sort_order
,`dateEnd`
您可能需要对其进行调整以满足您的需求。然后尝试按when case订购。询问是否有任何问题通过confirmChoice ASC dateEnd ASC从superTable中选择*,其中dateStart不是空的顺序,不执行您需要的操作?当然不,我需要选择所有条目,然后执行特定的顺序,以及为什么我有负号?这么简单?嘿,聪明人(设置负数)演示如何做=\n我真的很讨厌stack,因为this@Jain它应该是什么样子?“confirmChoice为空时的情况是什么?”