计算表中特定值的字段数

时间:2017-06-13 18:32:29

标签: mysql

我有一个包含以下列的表

dt_id,date,sl1,sl2,sl3,sl4,sl5,sl6,sl7,sl8.................sl24

以上是分配系统的结构,其中在特定的日子里有从sl1到sl24的24个可用时隙,所有这些时隙都具有默认值1,这意味着它是未预留的。有什么办法可以计算出值为1的字段数。这样我就可以获得特定日期可用的插槽数量?如果我的模式错误,请纠正我。这是我的第一个代码。

1 个答案:

答案 0 :(得分:1)

您应该将表格规范化为格式

dt_id,date,slot_id,slot_status

现在,对于每个日期,您可以定义任意数量的插槽(对于当前用例,可以是24)

现在可以在简单查询中获取可用的插槽数:

Select count(*) from table where slot_status = 1 and date = <your_date_here>

要获取可用的插槽,请使用:

Select * from table where slot_status = 1 and date = <your_date_here>