首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >同时显示已提升链接和未提升链接的一个查询

同时显示已提升链接和未提升链接的一个查询
EN

Stack Overflow用户
提问于 2013-05-24 18:46:49
回答 2查看 51关注 0票数 0

我正在创建一个链接页面,其中将显示所有链接按live_date排序-这里的陷阱是有两种类型的链接-推广和非推广-另一个捕获是-列表应该按天分组,所以今天的链接将返回推广的链接,然后是非推广的链接-然后昨天推广和非推广。

代码语言:javascript
复制
Fridays links

-------------
Promoted link
Promoted link
Promoted link
Normal link 
Normal link
代码语言:javascript
复制
Thursdays Links
--------------
Promoted link
Normal link 
Normal link 
Normal link 

以此类推-

我的方案:

代码语言:javascript
复制
CREATE TABLE `links` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `title` varchar(200) NOT NULL,
  `email` varchar(200) NOT NULL,
  `link` varchar(200) NOT NULL,
  `reciprocal_checkbox` tinyint(1) NOT NULL,
  `recip` varchar(200) NOT NULL,
  `promoted` tinyint(1) NOT NULL,
  `live` tinyint(1) NOT NULL,
  `live_time` datetime NOT NULL,
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

我是这样想的,但我认为它不会先创建所有的提升链接,然后再创建非提升链接(由bool定义)

代码语言:javascript
复制
SELECT title, link, live_time FROM links WHERE promoted = 1 UNION SELECT title, link, live_time FROM links WHERE promoted = 0 GROUP BY live_date
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-24 18:50:46

你不想分组,你只想给他们排序...

代码语言:javascript
复制
SELECT title, link, live_time 
FROM links 
ORDER BY live_date DESC, promoted DESC

PS -看起来您没有live_date列。你想要这样的东西吗?

代码语言:javascript
复制
SELECT title, link, live_time 
FROM links 
ORDER BY DATE(live_time) DESC, promoted DESC
票数 2
EN

Stack Overflow用户

发布于 2013-05-24 18:50:46

这个怎么样?

代码语言:javascript
复制
SELECT title, link, live_time FROM links
ORDER BY live_date, promoted
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16733217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档