mySQL - 根据一列中的条件计算不同的行

时间:2014-05-07 09:07:30

标签: mysql vb6 adodb

我有一个包含以下列的表:

    id          hcp_id          status
    1           10              True
    2           10              False
    3           10              True
    4           20              True
    5           20              True
    6           20              True
    7           30              False
    8           30              True
    9           30              True

结果应该是:

    Results:

    hcp_id
           10 = 0
           20 = 1
           30 = 0

基本上,如果特定 hcp_id 的所有条目都没有 False 状态,请将其计为一个。之后,总结所有结果:

    Result = 0 + 1 + 0

此外,它必须使用 ADODB mySQL ODBC 一起使用 VB6

这可以在一次查询中完成吗?

要考虑的其他事项是速度,因为这将在一个至少有14,000或更多记录的表格中完成。

1 个答案:

答案 0 :(得分:4)

对于mysql,你可以这样做,但我不知道如何为ADODB写它

SELECT 
 hcp_id, 
CASE WHEN COALESCE(SUM(`status` ='False')) =0 THEN 1
ELSE 0 END `all_true`
FROM
  t 
GROUP BY hcp_id

Demo