gpt4 book ai didi

MySQL "default"结果

转载 作者:太空宇宙 更新时间:2023-11-03 10:22:20 26 4
gpt4 key购买 nike

我有一个像这样的 MySQL 表

id    |  text   |  category   |   active

我随机选择一行

SELECT id, text 
FROM table
WHERE category = [category id] AND active = 1
ORDER BY RAND()
LIMIT 1

有时这不会返回任何结果(例如,如果特定类别中没有事件行)。在这种情况下我需要做的是返回一个“默认”行。

我的问题是:最有效的方法是什么?我是否应该只创建一个相同的表,但只使用默认行,如果上面的查询没有给出结果,我会查询这些行?或者我应该在同一个表中添加默认行吗?你将如何查询它?

欢迎提出任何建议!

编辑问题的一些更新:

  1. 我排除了在 PHP 中生成默认文本的可能性,因为我希望它是可定制的,而不必去更改代码。

  2. 每个类别都有一个默认行

最佳答案

SELECT id, text 
FROM table
WHERE (category = [category id] AND active = 1 )
OR ((DEFAULT CONDITION) AND NOT((category = [category id] AND active = 1 )))
ORDER BY RAND()
LIMIT 1

关于MySQL "default"结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10101452/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com