sql - 从联合 mysql 查询中获取帖子数?

标签 sql mysql

SELECT u.id       AS pid    ,
       b2.id      AS id     ,
       b2.message AS MESSAGE,
       b2.uid AS uid,
       b2.date    AS DATE
FROM   (
       (SELECT  b.id         AS id     ,
                b.pid        AS pid    ,
                b.message    AS MESSAGE,
                b.uid    AS uid,
                b.date       AS DATE
       FROM     wall_posts   AS b
                JOIN Friends AS f
                ON       f.id = b.pid
       WHERE    f.buddy_id    = '1'
       AND      f.status      = 'b'
       ORDER BY DATE DESC
       LIMIT    0, 10
       )

UNION
         (SELECT  id     ,
                  pid    ,
                  MESSAGE,
                  uid,
                  DATE
         FROM     wall_posts
         WHERE    pid = '1'
         ORDER BY DATE DESC
         LIMIT    0, 10
         )
       )          AS b2
       JOIN Users AS u
       ON       b2.pid    = u.id
WHERE    u.banned         ='0'
AND      u.email_activated='1'
ORDER BY DATE DESC
LIMIT    0, 10

是代码。不确定我将如何获得帖子数。我知道通常我会做 select count(*) as num 我试过了

所以我做了什么

SELECT u.id       AS pid    ,
       b2.id      AS id     ,
       b2.message AS MESSAGE,
       b2.uid AS uid,
       b2.date    AS DATE
FROM

并将其更改为

SELECT COUNT(u.id       AS pid    ,
       b2.id      AS id     ,
       b2.message AS MESSAGE,
       b2.uid AS uid,
       b2.date    AS DATE) as num
FROM

并对所有选择语句做了类似的事情,但是没有用,不断收到类似 #1064 的错误 - 你的 SQL 语法有错误;查看与您的 MySQL 服务器版本对应的手册,了解在第 1 行的“AS pid、b2.id AS id、b2.message AS MESSAGE、b”附近使用的正确语法。那么我将如何去计数呢?我需要我的分页 php 类的计数。

最佳答案

COUNT 函数不允许您拥有多个列。它可以是 COUNT(*) 或 COUNT(column_name),其中只有一个列名。 COUNT(*) 格式计算总行数,其中 COUNT(column_name) 返回指定列的非空值的计数。

因此,下一步是在 SELECT 中更改您的 COUNT。然后,如果存在其他问题,您可以从那里开始。

关于sql - 从联合 mysql 查询中获取帖子数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3947049/

相关文章:

php - SQL Server 的插入忽略的替代方案

sql - 如何创建 R 中两行相减的新列?

javascript - 如何将查询url中的值插入 Node js中的mysql表?

sql - Oracle-RETURNING与聚合函数结合

日期列的 MySQL 条件 ORDER BY ASC/DESC

php - mysql 在同一个查询上有和 where 子句

php - 什么时候使用 utf8_encode 和 utf8_decode 是正确的时间?

mysql - 从 mySQL 中的三个不同表中删除相关行

MySQL 按位运算

mysql - 距离前一天 5 天的日期计数