簡體   English   中英

按日期和時間順序存儲在兩個不同的mysql列中

[英]order by date and time stored in two different column mysql

表的基本結構

event_id | event_name | start_time | 結束時間| 日期

我正在嘗試按事件結束的順序獲取事件

我試過的查詢:-

SELECT * FROM `tablename` ORDER BY date,end_time DESC

但我沒有得到預期的結果。

PS: end_time的類型為time ,日期的類型為date

編輯:表轉儲進行測試

CREATE TABLE IF NOT EXISTS `wp_deals` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `title` varchar(256) COLLATE utf8_unicode_ci NOT NULL,
  `p_id` bigint(20) NOT NULL,
  `end_time` time NOT NULL,
  `start_time` time NOT NULL,
  `lastactive` date NOT NULL,
  `alldates` varchar(256) COLLATE utf8_unicode_ci NOT NULL,
  `status` varchar(64) COLLATE utf8_unicode_ci NOT NULL,
  `live` tinyint(2) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=17 ;

--
-- Dumping data for table `wp_deals`
--

INSERT INTO `wp_deals` (`id`, `title`, `p_id`, `end_time`, `start_time`, `lastactive`, `alldates`, `status`, `live`) VALUES
(12, 'checking', 70, '13:00:00', '12:30:00', '2014-08-11', '2014-08-09,2014-08-11', 'completed', 1),
(13, 'dealajax', 11, '12:00:00', '11:30:00', '2014-08-11', '2014-08-09,2014-08-11', 'completed', 1),
(16, 'testprodone', 11, '11:40:00', '10:48:00', '2014-08-10', '2014-08-10', 'completed', 1),
(11, 'report test', 70, '11:45:00', '11:35:00', '2014-08-09', '2014-08-09', 'completed', 1),
(9, 'next deal', 70, '15:50:00', '09:20:00', '2014-08-08', '2014-08-07,2014-08-08', 'completed', 1),
(10, 'Deal 2', 11, '12:30:00', '12:00:00', '2014-08-11', '2014-08-08,2014-08-11', 'completed', 1);

我的猜測是您首先要獲取最新日期。 如果是這樣,則需要兩次desc

SELECT *
FROM `tablename`
ORDER BY `date` DESC, `end_time` DESC;

您的版本從最早的日期獲取最新的時間。 這似乎沒有什么用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM