一个文章系统,怎么一次性取出(最新、热门、顶置、推荐)的文章,不要分四次。

numa001 2016-09-02 10:14:39
一个文章系统 , 每篇文章有这样四个字段,最新 热门 顶置 推荐(isnew , ishot , istop , isgood , 对应前台checkbox 打勾提交的那种)。每篇文字可能包含若干个属性。

我前台要输出四块
最新文章1
最新文章2
最新文章3
____________________________
热门 文章1
热门 文章2
热门 文章3
____________________________
顶置文章1
顶置文章2
顶置文章3
____________________________
推荐文章1
推荐文章2
推荐文章3

这样我就要写4次sql 语句 , 能不能整成写1条sql 语句的 , pS:这个还是前台AJax 输出的,,
...全文
177 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
那就一次性查出四条数据啊,查出来以后自己拆分。

select * from 文章表 where id='查询文章的id' or isnew='最新' or istop='置顶的'  or
//或者
select * from 文章表 where id='查询文章的id' 
union all
select * from 文章表 where istop='置顶的'
...
numa001 2016-09-02
  • 打赏
  • 举报
回复
引用 2 楼 caozhy 的回复:
你的表设计不合理,应该把4个放在一个表中,用type字段表示属于不同类型。 这样group by下就可以了 你这个也能写成一个查询,需要4个分别select然后union
可一般的新闻热门、最新、顶置、推荐、肯定和 新闻放在同一张表了。。
风吹腚腚凉 2016-09-02
  • 打赏
  • 举报
回复
引用 2 楼 caozhy 的回复:
你的表设计不合理,应该把4个放在一个表中,用type字段表示属于不同类型。 这样group by下就可以了 你这个也能写成一个查询,需要4个分别select然后union
这里要用union all
threenewbee 2016-09-02
  • 打赏
  • 举报
回复
你的表设计不合理,应该把4个放在一个表中,用type字段表示属于不同类型。 这样group by下就可以了 你这个也能写成一个查询,需要4个分别select然后union
numa001 2016-09-02
  • 打赏
  • 举报
回复
。。。一次性取出来, 用JS 循环判断再读取了。。

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧