我需要一些帮助从mysql中的表中提取一些数据。我有几种方法可以很长时间也没有效率,但我知道有一种更清洁的方法。我有一个表,叫它图书,它有一个成员字段和一个状态字段。status字段可以是0、1、2、3。我需要按memberid来提取所有行(这是针对特定成员的,而不是针对所有成员,因此我将向它发送一个成员it ),并为所提供的成员it获取每个状态的总和。我知道这不管用,但这是我经常尝试做的事情。
SELECT memberid
, count(status) as pending where status= 0
, count(status) as approved where status= 1
, count(status) as completed where status= 2
, count(status) as denied where status= 3
FROM `books` WHERE memberid = 1
我知道我可以做几个查询来获取这个信息,也可以用这个成员id提取所有信息,然后在php中撕开数组来获取信息,但是我觉得有一种更好的方法。
发布于 2014-10-13 19:05:10
我经常以这样的方式进行这种查询:
select memberid,
sum(status = 0) pending,
sum(status = 1) approved,
sum(status = 2) completed,
sum(status = 3) denied
from books where memberid = 1;
https://stackoverflow.com/questions/26347054
复制相似问题