1
以下是两列表的示例,我使用按位运算符来存储日期。将单行展开为多行
-- +---------+------+
-- | Title | Days |
-- +---------+------+
-- | Title 1 | 127 |
-- | Title 2 | 12 |
-- | Title 3 | 8 |
-- | Title 4 | 36 |
-- +---------+------+
我想要的是做一个查询和扩大每一行,所以它是基于天数重复,并且每行只包含一天。
-- +---------+------+
-- | Title | Days |
-- +---------+------+
-- | Title 1 | 1 |
-- | Title 1 | 2 |
-- | Title 1 | 4 |
-- | Title 2 | 4 |
-- | Title 4 | 4 |
-- | Title 1 | 8 |
-- | Title 2 | 8 |
-- | Title 3 | 8 |
-- | Title 1 | 16 |
-- | Title 1 | 32 |
-- | Title 4 | 32 |
-- | Title 1 | 64 |
-- +---------+------+
我已经有了一个解决方法,让应用程序多次查询数据库以检索每一天的行。
SELECT * FROM `table_name` WHERE (`days` & 1) = 1; -- ... and so on
但我想如果我能做到这一点在一个单一的查询,可以加快性能。
谢谢,解决了这个问题。我只是修改了顺序,以达到我想要的。 'ORDER BY b.value,a.title' – 2014-10-06 08:12:57