我想要合并两个复杂的MYSQL查询的方法。合并两个复杂的MYSQL查询
查询1:
SELECT p.*
FROM posts p
INNER JOIN
(
SELECT a.ID
FROM posts a
INNER JOIN post_tags b
ON a.ID = b.post_ID
WHERE a.post LIKE '%mmmm%' AND
b.tagname IN ('#test','#iseeyou')
GROUP BY ID
HAVING COUNT(DISTINCT b.tagname) = 2
) sub ON p.ID = sub.ID
ORDER BY p.upvotes DESC, p.unix_timestamp DESC
问题2:
SELECT p.*, ((upvotes + 1.9208)/(upvotes + downvotes) - 1.96 * SQRT((upvotes * downvotes)
/(upvotes + downvotes) + 0.9604)/(upvotes + downvotes))
/(1 + 3.8416/(upvotes + downvotes)) AS ci_lower_bound
FROM posts p WHERE upvotes + downvotes > 0
AND p.unix_timestamp BETWEEN 1363023402 AND 1363109802 ORDER BY ci_lower_bound DESC
一个小的表定义在SQL Fiddle
实际上给出的,第一个是一个搜索查询和所述第二人给基于过去24小时内投票的最流行结果,所以我想使用基于第二个公式中使用的公式的搜索查询以及时间范围
只是出于好奇:),为什么ü不使用存储过程,这样做 – NetStarter 2013-04-05 13:27:25
为什么要合并他们在所有? – fancyPants 2013-04-05 13:27:53
@NetStarter我不知道如何使用存储过程。 – coder101 2013-04-05 13:29:09