MYSQL LIMIT 仅显示 "viewed"=1 的值,但不查看 ="0"

标签 mysql where-clause limit

这对我来说是一件很难的事。我有一个保存用户通知的表。有一个“已查看”列,其中 0 表示尚未查看,1 表示已查看。

我想生成我的通知列表,SELECT * 是未查看的 (0),但是如果我没有未查看的通知,我不想只显示“无通知”,我想显示几个旧的。

我已经先展示了我最近未查看的内容。有没有一种方法可以显示所有未查看的内容,但只显示少数内容?像下面这样吗?

  $QUERY= "SELECT * FROM point_member_notifications WHERE account_id='$accountid' ORDER BY viewed ASC, created_date DESC (LIMIT 10 WHERE VIEWED='1') "

最佳答案

也许您想要 UNION ALL 来限制“VIEWED” 旧的,只需将 limit 子句放在包含选择

(SELECT * FROM point_member_notifications WHERE account_id='$accountid' ORDER BY viewed ASC)
UNION ALL
(SELECT * FROM point_member_notifications WHERE account_id='$accountid' WHERE VIEWED='1' created_date DESC LIMIT 10);

关于MYSQL LIMIT 仅显示 "viewed"=1 的值,但不查看 ="0",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43881665/

相关文章:

php - 查询搜索 Laravel 5

mysql - VB.Net 中 mysql 数据库的数据库备份

php - 将特定页面限制为仅在 Codeigniter 中登录的用户的最佳做法是什么?

sql - 无法理解使用 where 和 group by 的子查询代码

MySQL - 如何将 LIMIT 应用于 GROUP?

bash - bash中定宽整数的宽度是多少?

java - DB 的值未在 Modal 上传递,而是在页面本身上传递

java - 在选择查询java中PrepareStatement不起作用

php - mysql where语句没有显示正确的结果

php - 带有准备语句的 MySQL 上的 LIMIT 关键字