我有3个关键领域MySQL的排序多个日期列
- 起始日期
- END_DATE
- 日期
start_date
和end_date
是将跨越多个日期的事件数据库。 date
适用于单日活动。
如何根据开始日期或日期对所有日期进行排序(以适用者为准)。假设有第四个字段multiple_day_event
,它是“是”或“否”。
我有3个关键领域MySQL的排序多个日期列
start_date
和end_date
是将跨越多个日期的事件数据库。 date
适用于单日活动。
如何根据开始日期或日期对所有日期进行排序(以适用者为准)。假设有第四个字段multiple_day_event
,它是“是”或“否”。
嗯,它看起来像IFNULL(START_DATE,DATE)
IF(MULTIPLE_DAY_EVENT='yes',START_DATE, DATE)
或者case, when:
CASE multiple_day_event
WHEN 'yes' THEN START_DATE
-- WHEN 'taco' THEN 'salsa???' Or any other when.
ELSE DATE
END CASE
非常丰富,谢谢。 – Ryan
SELECT IF(multiple_day_event, start_date, date) AS mdate ORDER BY mdate
我会忽略这两个'date'和'multiple_day_event'列 - 它们是多余的,并且查询会没有他们更容易。用相同的结束日期设置单日事件没什么大不了的。但我希望那些列包括时间... –
“数据库”你的意思是“表”? –
感谢您为OMG Ponies的可读性进行编辑,但是切出部分我会说“我知道最好的方法可能是切换到使用start_date和end_date,即使是单日事件也是如此”,但我只是对你将如何用查询来完成这项工作。“然后转身提供它的建议? – Ryan