这个问题是一个不同的常见问题有关IN子句排序的最终结果。
我想通过强制包含IN子句的查询返回的结果,以匹配IN子句的顺序。
这是原来的问题 ,我从工作。
我想,使得包含一列,以改变下面的查询progress=2
之前发生progress=4
和progress=7
每个session_id
订购时formation_page_hits
由表datetime
。
这是当前的查询:
SELECT COUNT(*)
FROM (
SELECT session_id
FROM formation_page_hits
WHERE progress IN (2, 4, 7)
AND datetime >= '2011-03-23'
AND datetime < '2011-03-24'
GROUP BY
session_id
HAVING COUNT(DISTINCT progress) = 3
) q
这些条目
datetime, session_id, progress
('2011-03-01 01:02:11', 'abc', 2)
('2011-03-01 01:02:12', 'abc', 4)
('2011-03-01 01:02:13', 'abc', 7)
应该是用于查询的比赛,但是:
datetime, session_id, progress
('2011-03-01 01:02:11', 'abc', 4)
('2011-03-01 01:02:12', 'abc', 2)
('2011-03-01 01:02:13', 'abc', 7)
不应该匹配。
另外:
datetime, session_id, progress
('2011-03-01 01:02:11', 'abc', 4)
('2011-03-01 01:02:12', 'abc', 2)
('2011-03-01 01:02:13', 'abc', 4)
('2011-03-01 01:02:14', 'abc', 7)
应该是一个匹配。