如何通过从数据库中获取非重复值来在网站中显示每日句子?
我的数据库有超过365句
我的数据库表的结构是:
id,text
我想我应该在我的表的结构中装箱一个show
,默认值为0
,当站点show = 1
中显示句子时
这是真的吗?
是的,您可以添加一个额外的列,并使用以下查询获取记录:
select text from sentences where show=0;
编辑:
您也可以从表中获取随机记录。
示例:
SELECT * FROM `sentences` WHERE show=0 ORDER BY RAND() LIMIT 0,1;
但是这种方法对于大表来说很慢。请参阅以下文章中的更多详细信息:
- SQL从数据库表中随机选择一行
您还可以将数据库中的句子数量减少到366,并运行以下查询:
SELECT * FROM sentences WHERE id = DAYOFYEAR(NOW())
当然,这意味着你需要保留366个ID号为1-366的句子,否则就行不通了。
要么是(创建显示列),要么只是按顺序显示它们,今天是第一天,显示句子id 1,明天显示句子2等。