如何在结果中找不到行?

wz1wpwve  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(348)

我需要从数据库中获取结果,以及在其中找到的行总数、在其中状态为1时找到的行数和在其中状态为0时找到的行数。
这是我的问题

  1. $this->db->query('SELECT id, book_title, tag, book_no, status FROM books WHERE tag LIKE :key');
  2. $this->db->bind(':key', "%$key%");
eaf3rand

eaf3rand1#

我找到了一个方法得到这个,但我不知道这是这个合适的方法,如果它是不合适的方法解释我

  1. $this->db->query('SELECT id, book_title, tag, book_no, status,
  2. (SELECT count(*) FROM books WHERE tag LIKE :key) AS total_books,
  3. (SELECT count(*) FROM books WHERE tag LIKE :key AND status = 1) AS total_available_books
  4. FROM books WHERE tag LIKE :key');
  5. $this->db->bind(':key', "%$key%");
djp7away

djp7away2#

不确定您要查找的确切内容,但是如果您对获取status=1和status=0的记录计数感兴趣,可以使用下面的sql查询。

  1. select status, count(id) from books where status in (0,1) group by status;

相关问题